一:局部变量与全局变量
局部变量:在函数内部定义的变量,其作用域只能在其被创建的函数内有效。
全局变量:在函数之外定义的变量,可以被其它所有函数访问。注:全局变量通常在文件的开始处定义。
如果试图在函数内修改一个不可变类型(eg:int)全局变量的值,Python会创建一个新的局部变量,除非使用global关键字强制为全局变量后再修改
二:回调函数
如果存在A函数和B函数,那么在调用处调用B函数的时候将A传入B函数,则在B函数执行的过程中调用A函数。则:
调用处调用B函数(中间函数)的过程叫做直调;
在B函数内部调用A函数的过程叫回调;
A函数被称作“回调函数”(callback function)
三:闭包
在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。
闭包是将函数内部和函数外部连接起来的桥梁
闭包充当了函数样板的作用,保留了一些可以再填入的内容
装饰器
装饰器本质上是一个Python函数,它可以对其他函数动态地增加额外功能,而不必更改原函数的代码,装饰器的返回值也是一个函数对象。
“@装饰器名” 语法糖
局部变量:在函数内部定义的变量,其作用域只能在其被创建的函数内有效。
全局变量:在函数之外定义的变量,可以被其它所有函数访问。注:全局变量通常在文件的开始处定义。
如果试图在函数内修改一个不可变类型(eg:int)全局变量的值,Python会创建一个新的局部变量,除非使用global关键字强制为全局变量后再修改
二:回调函数
如果存在A函数和B函数,那么在调用处调用B函数的时候将A传入B函数,则在B函数执行的过程中调用A函数。则:
调用处调用B函数(中间函数)的过程叫做直调;
在B函数内部调用A函数的过程叫回调;
A函数被称作“回调函数”(callback function)
三:闭包
在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。
闭包是将函数内部和函数外部连接起来的桥梁
闭包充当了函数样板的作用,保留了一些可以再填入的内容
装饰器
装饰器本质上是一个Python函数,它可以对其他函数动态地增加额外功能,而不必更改原函数的代码,装饰器的返回值也是一个函数对象。
“@装饰器名” 语法糖