Flask学习(一):flask程序入口(hello world)

Flask安装: pip install flask

创建第一个Flask程序:

python 复制代码
# 导入flask
from flask import Flask
​
# 创建flask实例 app
app = Flask(__name__)
​
# 通过装饰器的形式设置路由
# 路由装饰器将一个视图函数与一个 URL 路径关联起来。当访问该 URL 时,Flask 会调用与之关联的视图函数。
@app.route("/index")
def index():
    return'Hello World'
​
if __name__ == "__main__":
    # 执行app.run 本质是执行了run_simple('localhost',4000,hello)
    app.run()

run函数源码:

python 复制代码
# 定义参数的类型及相关默认值
def run(
    self,
    host: str | None = None,
    port: int | None = None,
    debug: bool | None = None,
    load_dotenv: bool = True,
    **options: t.Any,
) -> None: # python3.5及以后添加的功能(->None)用于指定函数参数和返回值的预期类型,虽然这些类型在运行时不会强制执行,但可以帮助开发者和其他阅读代码的人更好地理解代码的预期行为。
    
    ......
​
    from werkzeug.serving import run_simple
    # 其run函数本质执行的是run_simple
    try:
        # t.cast(str, host) 将host转换成str类型
        run_simple(t.cast(str, host), port, self, **options)
    finally:
        self._got_first_request = False
相关推荐
快乐非自愿3 分钟前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
百锦再3 小时前
第11章 泛型、trait与生命周期
android·网络·人工智能·python·golang·rust·go
zbhbbedp282793cl5 小时前
如何在VSCode中安装Python扩展?
ide·vscode·python
椰壳也可5 小时前
06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)
笔记·stm32·学习
im_AMBER6 小时前
Leetcode 52
笔记·学习·算法·leetcode
Python私教6 小时前
Python 开发环境安装与配置全指南(2025版)
开发语言·python
百锦再7 小时前
第12章 测试编写
android·java·开发语言·python·rust·go·erlang
熠熠仔7 小时前
QGIS 3.34+ 网络分析基础数据自动化生成:从脚本到应用
python·数据分析
测试19987 小时前
Appium使用指南与自动化测试案例详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
神仙别闹7 小时前
基于 C++和 Python 实现计算机视觉
c++·python·计算机视觉