Python - 导入后__init__会执行吗?

时间:2017-11-25 04:04:12

标签: python

假设我有以下文件夹结构:

-api_server
    - __init__.py
-app.py

如果我在__init__.py中有以下代码:

app = config_and_create_app()

然后在app.py我有:

from api_server import app
app.run()

import中的app.py语句会激活“__init__.py文件,因此app.run()会有效吗?

1 个答案:

答案 0 :(得分:3)

此代码在myapp /

$ cat myapp/api_server/__init__.py
class App:
    def run(self):
        print("App.run")

def config_and_create_app():
    print("Configuring and creating app")
    return App()

print("init in api server")

app = config_and_create_app()

运行时生成此结果:

$ python myapp/app.py
init in api server
Configuring and creating app
App.run

所以我会说,“是的!”