2017-11-25 2 views
0

sagen, dass ich die folgende Ordnerstruktur haben:Python - wird __init__ nach dem Import ausgeführt?

-api_server 
    - __init__.py 
-app.py 

Wenn ich den folgenden Code in __init__.py haben:

app = config_and_create_app() 

Dann in app.py ich habe:

from api_server import app 
app.run() 

wird die import Anweisung in app.py "aktivieren" die __init__.py Datei und die Refore app.run() wird funktionieren?

+0

Haben Sie es selbst ausprobiert? Es sollte leicht sein, es herauszufinden. – Evert

Antwort

3

Dieser Code in 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() 

Erzeugt dieses Ergebnis bei der Ausführung: "Ja!"

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

Also würde ich sagen,

Verwandte Themen