1.函数是一个可执行语句(逻辑语句,不是物理语句)
2.函数执行是通过绑定函数名和当前本地命名空间的一个函数对象(由可执行代码围绕的一个包装器)
3.该函数对象中包含一个对全局命名空间的一个引用,当该函数被调用时,该引用作为全局命名空间来使用
4.一个函数定义可能被一个或多个装饰器包裹,函数定义完成,其装饰表达式在包含该函数的范围内被评估,结果必须是可调用的,该调用以函数对象作为唯一调用参数
5.调用返回值和函数名绑定,而不是函数对象
6.多个装饰器在嵌套中应用
------------------------------------------------------------------------------------------
1.函数执行为该函数本地变量引入一个新的符号表,更准确的说,函数中所有变量的赋值都是将值存储在本地符号表
2.当引用该变量时,首先在本地(被调函数)符号表中查找,然后在上一层函数的本地符号表中查找,然后在全局符号表中查找,最后在python内置名称表中查找
1.因此在函数内部,无法直接给全局变量直接赋值(第1条),但是可以引用该全局变量(第2条)
1.当一个函数被调用时,实参会被引入该函