_init_.py文件的作用

__init__.py在Python中主要用于标识package,它使目录被解释器识别为模块集合。通过定义__all__列表,可以控制从package模糊导入哪些模块。本文详细解释了__init__.py的用途,包括其在pycharm中的创建过程,以及如何影响模块的导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • __init__.py的主要作用
  • 是Python中 package的标识
  • 在__init__.py中定义__all__用来模糊导入
  • 编写Python代码(不建议这么做,实际的逻辑可以在其他py文件中写,__init__.py应该尽量轻)
  • package标识
  • 在pycharm中new,有Directory和Python Package两个选项。
  • 分别创建Directory和package,发现前者只是一个空目录,后者包含一个__init__.py文件。
  • 这就是__init__.py的package标识作用,他告诉python,这不是一个普通的目录而是一个package。
  • 有__init__.py文件的情况下,可以识别init_test
  • 删除掉__init__.py文件,识别不了init_test
  • 定义__all__用来模糊导入
  • 在python中有两种导入方式:
  • 精确导入
  • from init_test import test
  • import init_test.test
  • 模糊导入
  • from init_test import *
  • 这种语法会将init_test包下的所有模块都导入到当前py文件中,效果如下:
  • 很奇怪没有将三个test模块导入(test模块中有打印自己的名称,因为是直接print所以如果导入就会执行)
  • 在__init__.py中加入__all__变量,然后执行:
  • __all__ = ['test','test1','test2']

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值