首页 > 代码库 > 《flask web 开发》笔记 -- (2)? 程序基本结构

《flask web 开发》笔记 -- (2)? 程序基本结构

  • 创建第一个flask程序:
from flask import Flask

app = Flask(__name__)


@app.route(/)
def hello_world():
    return Hello World!


if __name__ == __main__:
    app.run()

 

 

  • 此处知识点:__name__ ,而且有两处 

 

  • 第一处 app = Flask(__name__)
#解释: 将构造函数的name参数传给Flask程序,flask用这个参数决定程序的根目录,以便稍后能找到相对于程序根目录的资源文件位置 

 

 

  • 第二处 if __name__ == ‘__main__‘

查阅官方文档可知:一个模块的模块名(做为一个字符串)可以由全局变量 __name__ 得到。__下划线表示它是系统内建的属性,我们来看下面代码。

1. 如果模块是被直接执行,__name__的值为’__main__’,以下为验证 

 

#建一个文件kk.py,内容只有如下两条  

print "I‘m the first."
if __name__=="__main__":
    print "I‘m the second."


#直接运行程序,得到输出,验证了我们的想法,直接执行时__name__ 
Im the first.
Im the second.

#得证,直接执行时确实为__main__

 

 

2. 如果模块是被导入,__name__的值为模块名字,比如kk.py被导入,则__name__ == kk

#在同文件夹下建立kk2.py, 在kk2.py中输入 

import kk.py 

#在shell中执行python kk2.py 

#输出,没有第二句 
Im the first.

#因为kk.py是被导入的,它的__name__是它的模块名kk,所以不再执行后半句输出

 

《flask web 开发》笔记 -- (2)? 程序基本结构