函数二
函数名的命名规则:
不能是关键字
数字字母下划线任意组合
不能是数字开头,不能全部都是数字
不能是中文
建议用驼峰和下划线
区分大小写
命名不能太长,要有意义
函数名的应用
函数名可以进行复制给其它的变量
def func(): print('hehe') a = func a() # hehe
作为list列表
def func1(): print('我是1') def func2(): print('我是2') def func3(): print('我是3') lst = [func1,func2,func3] print(lst) # 得到的是三个函数的地址
可以用 for 循环遍历list 里的元素
def func(): print('我是1') def func(): print('我是2') def func(): print('我是3') lst = [func1,func2,func3] for el in lst: el() #我是1 #我是2 #我是3
函数名可以当做函数的参数
def func1(): print('我是func1') def func2(): print('我是func2') def func(fn,gn): fn() gn() print('哈哈') func(func1,func2) #我是func #我是func #我是func2 #哈哈
作为返回值
def func(): print('我是func') a = 10 #变量 def inner(): prinit('我是inner') return inner fanc()() #先运行func() 然后返回值inner 加上() inner() #我是func #我是inner
闭包
闭包:在内层函数中访问外层函数的变量
作用
可以保护你的变量不受侵害
可以让一个变量常驻内存
def func(): name = 'alex' #常驻变量 def inner(): print(name) #在函数内曾调用函数外层的变量,叫 闭包 可以让一个变量常驻内存 return inner ret = func() ret() #执行的是 inner
作用:
节省内存
for 循环
惰性机制
迭代器模拟 for 循环(记住这个就可以了)
list = ['刘能','王二丫','谢大脚'] it = list.__iner__() #获取迭代 while 1: try: #尝试执行 el = it.__next__ #获取下一个元素 print(el) except StopIteration: #处理出错 break