python之__init__.py文件的作用

python中__init__.py文件的作用
就是将自身文件夹当成一个package来管理,即package就是包含python文件的文件夹
在python中,一个.py文件就是一个module

/--All
    ---all.py
    ---__init__py
    ------A
        ---__init__.py
        ---testA1.py
        ---testA2.py
    ------B
        ---__init__.py
        ---testB1.py
        ---testB2.py
整个文件夹的目录如上图所示
在all.py文件中导入A和B module
导入的方法是:
import A.testA1 as a1
import A.testA2 as a2
然后通过a1和a2调用A和A2文件中的方法

现在发现通过:
问题1:
from A import *
这种方法,直接调用A1和A2文件中的方法好像不太管用
a = testA1.method()
提示:name testA1 is not defined
这个必须在文件夹A中的__init__.py文件中,定义__all__=["testA1","testA2"]
其中A1和A2是文件夹A中的两个module
否则只能用 from A import testA1的方法,调用testA1模块中的属性

问题2:
如果在当前文件中不加上__init__.py的话,
直接用from A import testA1的话,会提示没有A这个东西

问题3:
如果在All文件夹中的__init__.py文件中,添加from A import testA1
在ALL文件夹的同一级目录下,如果有一个test.py文件夹的话,直接用import All.testA1会出错
这个还不知道是为什么,因为导入All文件夹之后,就会调用All文件夹下面的__init__.py文件,这个文件
已经导入了testA1,按道理说,testA1文件是可以被test.py使用的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值