理解 Python 中的装饰器

一直觉得装饰器很神奇。如 Flask 中用到的路由装饰器: @app.route('/') def hello_world(): return 'Hello World! 看了《简单 12 步理解 Python 装饰器》,有些心得,记录一下新知识。 1、内嵌函数 Python 允许创建内嵌函数。即可以在函数内部声明函数,并且所有的作用域和生命周期规则仍然适用。 >>> def o

Python 中的 __name__ 变量

写 Python 程序的时候,经常会写到 if __name__ == '__main__': ,一直没有很好地理解。Flask 文档提到了一下,顺便做了小实验,总算搞清楚了。 __name__ 变量的值是变化的。假设有个 name.py 文件,如果直接运行它,__name__ 的值为 '__main__';如果从其他地方作为模块导入(import name),__name__ 的值为模块名,即