假设我有以下目录结构:
lib\
--__init__.py
--foo.py
--bar.py
在foo和bar中,有两个独立的方法都需要相同的方法。例如:
福:
def method1():
win()
酒吧:
def method2(number):
if number < 0:
lose()
else:
win()
初始化:
def win():
print "You Win!"
def lose():
print "You Lose...."
有没有办法在模块各自的子文件中的init.py中使用win和lose方法,或者我必须在文件夹中创建另一个文件并让foo和bar导入它?
使用相对导入:
是的,只需导入
__init__.py
模块(通过绝对或相对导入,这并不重要)。我从不喜欢相对导入,所以我会在
mypackage.foo
中使用import mypackage
,它像相对导入一样导入__init__.py
,然后在那里使用它。我也不喜欢在__init__.py
中放入任何内容,所以也许您无论如何都应该考虑共享的公共文件。相关问题 更多 >
编程相关推荐