究竟导入将在python中做什么

use*_*523 2 python python-2.7

我写了一个a.py像这样的python文件:

x = 1
def hello():
   print x

hello()
Run Code Online (Sandbox Code Playgroud)

当我这样做import a,它打印的价值x

直到现在我的理解是import包括变量和函数定义,但为什么它正在执行方法hello()

mik*_*iku 6

Python导入并不简单,但简而言之,当导入模块时,它会从上到下执行.由于调用了hello,它将调用该函数并打印hello.

要深入了解进口,请参阅:

为了能够独立使用文件和作为模块,您可以在程序独立运行时检查__name__(设置)__main__:

if __name__ == '__main__':
    hello()
Run Code Online (Sandbox Code Playgroud)

另请参见:如果__name__ =="__ main__",该怎么办?