使用模块中__init__.py中定义的方法
问题内容:
假设我具有以下目录结构:
lib\
--__init__.py
--foo.py
--bar.py
在foo和bar内部,有单独的方法都需要相同的方法。例如:
foo:
def method1():
win()
酒吧:
def method2(number):
if number < 0:
lose()
else:
win()
在里面:
def win():
print "You Win!"
def lose():
print "You Lose...."
有没有办法在模块各自的子文件的 init .py中使用赢和输方法,还是我必须在该文件夹中创建另一个文件并将foo和bar导入?
问题答案:
是的,只需导入__init__.py
模块(通过绝对导入或相对导入,都没关系)。
我从不喜欢相对导入,所以我会使用import mypackage
in
mypackage.foo
,它__init__.py
就像相对导入一样导入,然后在其中使用。我一般也不喜欢放任何东西__init__.py
,所以也许您应该无论如何都要考虑共享的公用文件。