函数二

函数名的命名规则:

  不能是关键字

  数字字母下划线任意组合

  不能是数字开头,不能全部都是数字

  不能是中文

  建议用驼峰和下划线

  区分大小写

  命名不能太长,要有意义

函数名的应用

  函数名可以进行复制给其它的变量

    

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      
原文地址:https://www.cnblogs.com/lzqrkn/p/9456373.html