笔记
全局变量:声明在函数外边的变量
局部变量的作用范围仅限于函数内部
函数内部可以使用全局变量但是无法修改全局变量,如果要进行修改,使用globle关键字
值传递:在传递参数时,仅仅是把值拷贝一份传递给参数的函数,变量的值不发生变化
引用传递:
在传递参数的时候,传地址,函数形参获取的值,也是同一块内存
我们有时候需要调用某个函数,如果想将该函数中的某个参数设置一个固定的值,那么就可以使用偏函数
综上:函数可以作为返回值进行返回
函数可以作为参数进行传递
函数名本质上就是变量名,指向函数所在的内存地址
闭包:一个函数嵌套另一个函数,内层函数用到外层函数的局部变量,内层函数即为闭包
装饰器本质上就是一个闭包,作用:不改变原有函数的前提下,为函数添加新的功能,但是源代码没改变运用:用户登录、日志
装饰器
def guanjia(fn):
def inner():
print("开挂")
fn()
print("关闭外挂")
return inner
@guanjia #play_dnf = guanjia(play_dnf)
def play_dnf():
print("你好啊,我是赛利亚,今天又是美好的一天")
@guanjia
def play_wz():
print("来和妲己玩耍吧")
play_dnf()
play_wz()