我有以下文件app.py
Python导入语句是否也自动导入相关性?
class Baz():
def __init__(self, num):
self.a = num
print self.a
def foo(num):
obj = Baz(num)
第二个文件main.py
from app import foo
foo(10)
运行文件python main.py
给出正确的输出。
现在在第二个文件中,我只是导入函数而不是类,尽管成功执行我的函数也需要类。
导入函数时,Python会自动导入运行该函数所需的所有内容,还是会自动搜索当前目录中的类?
这是整洁。所以我不应该把不相关的代码放在一个文件中,如果我的意图是只加载一个函数,因为Python会一直编译整个文件,对吗? – 2015-03-31 11:25:22
@KartikAnand Python只会将它编译成一个'.pyc'文件,稍后导入只需从同一个'.pyc'文件中获取字节码,直到您再次更新'.py'文件。 – 2015-03-31 11:27:05
因此,如果我没有明确导入'Baz',我可以通过从函数附加的'__globals__'来实例化它吗? – 2015-03-31 11:30:40