这些Python导入如何工作?

时间:2015-07-08 07:32:05

标签: python python-2.7 import flask

我刚开始使用Python从[here] [1]开始学习后端Web开发。

第一个项目是一个简单的 Hello World 响应网站主页的请求。

上述项目的整个程序由3个文件组成:

myWebsite/
    app/
        __init__.py
        views.py
    run.py

Python文件如下:

__初始化__。PY

from flask import Flask
app = Flask (__name__)
from app import views

views.py

from app import app
@app.route ('/')
def sayHello():
    return "Hello World"

run.py

from app import app
app.run (debug = True)

我的原始问题:

程序将通过解释run.py来执行。据我所知,在此文件的第一行from app import app,它会在__init__.py中搜索名为app的对象,如果找到,请将其设置为下一行,右? 嗯,这对我来说似乎没问题(我想!)。

问题是,为什么我们需要from app import app views.py,而我却不想执行它!我的意思是我只想在我的__init__.py文件中使用此文件,因此我认为足以将其导入__init__.py并且我不需要from app import app views.py }}。我错了吗?

作为一个附带问题:

当我写from x import y时,x是什么,y是什么?

  • x是目录还是文件?
  • y是名为__init__.py的文件中的文件或对象吗?

当我写import z时,z是什么?一个库中的文件或对象?

我知道我的问题对于专家来说似乎很简单,但是我从C迁移到Python,并且像C中的#include一样import,我认为这是我的问题的根源。我在SO中读到了与我的问题相关的一些问答,但我对此感到困惑。

0 个答案:

没有答案