day4
阅读目录 函数名的本质 闭包 装饰器 迭代器和生成器 迭代器 生成器函数 生成器表达式 匿名函数 递归函数 内置函数 回到顶部 函数名的本质 函数名本质上就是函数的内存地址 1.可以被引用 def func(): print('in func') f = func print(f) View Code 2.可以被当作容器类型的元素 def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') l = [f1,f2,f3] d = {'f1':f1,'f2':f2,'f3':f3} #调用 l[0]() d['f2']() 函数被当作容易类型的元素 3.可以当作函数的参数和返回值 第一类对象(first-class object)指 1.可在运行期创建 2.可用作函数参数或返回值 3.可存入变量的实体。 第一类对象 *不明白?那就记住一句话,就当普通变量用 回到顶部 闭包函数 def func(): name = 'eva' def inner(): print(name) 闭包函数定义: 内部函数包含对外部作用域而非全剧作用域名字的引用,该内部函数称为闭包函数 #函数内部定义的函数称为内部函数 由于有了作用域的关系,我们就不能拿到函数内部的变量和函数了。如果我们就是想拿怎么办呢?返回呀!