def fn():     print("我叫fn") fn() print(fn)## <function fn at 0x0000000001D12E18> fn() gn = fn #函数名可以进行赋值 print(gn)# <function fn at 0x0000000001D12E18> gn()   fn = 666 print(fn) #666   def func1()     print("朱祁镇") def fun…
########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的元素 函数可以作为参数传递 函数可以作为返回值返回 2. 闭包 语法: 内层函数对外层函数的局部变量的使用 def wrapper(): name = "" def inner(): return name return inner 如何查看一个函数是否是闭包 函数名.__closure_…
一.第一类对象 第一类对象 -> 函数名 -> 变量名 1.特征:     函数对象可以像变量一样进行赋值     还可以作为列表的元素进行使用     还可以作为返回值返回     还可以作为参数进行传递 def warpper(): def inner(): print("666") print("inner") return inner ret = warpper() # warpper() 返回值是inner 也就是inner 调用再加() pr…
1.函数名的应用(第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 可以作为列表中的元素进行储存. def func1(): pass def func2(): pass lst = [func1,func2] for el in lst: el() 可以作为参数传递给函数. def func(): pass def proxy(fn): fn() proxy(func) 可以作为函数的返回值 def func(): def inner(): pass return inner…
一.今日主要内容总览(重点) 1.第一类对象->函数名=>变量名 (1)函数对象可以像变量一样进行赋值 (2)还可以作为列表的元素进行使用 (3)还可以作为返回值返回 (4)还可以作为参数进行传递 思想:函数名就是变量名 (不仅指向一块空间,还有自身的意义) 2.闭包->函数的嵌套 (1)内层函数对外层函数中的变量的使用 (2)好处: 1.保护变量不被侵害 2.让一个变量常驻内存 (3)如何通过代码查看一个闭包? __closure__: 有东西就是闭包,没东西就不是闭包 (4)迭代器=…
一:函数名的应用(第一类对象) 函数名的命名规范和变量是一样的,函数名其实就是变量名, 0)函数名可以赋值给其他变量 def func(): #定义一个名为func的函数 print('my angel') a = func #将函数名func赋值给a func() a() #调用func()和a()#结果为:my angelmy angel#所以函数名是可以赋值给其他变量的 def func(): print("my angel") a = func print(a) func()…
今日主要内容: 1 . 第一类对象 -->函数名--> 变量名 2. 闭包 -->函数的嵌套 3. 迭代器 --> 固定的思想 for 循环 第一类对象  : 函数对象介意向变量一样进行赋值 还可以作为列表的元素进行使用 还可以作为返回值返回 可以作为参数进行传参 闭包 : 内层函数对外层函数的变量的使用 闭包  的优点: 1.可以保护函数不被外界侵害 2 . 让一个变量常驻内存 如何通过函数查看一个闭包: __closure__: 有东西就是闭包,没东西就不是闭包 迭代器 : 如…
一.函数名的运用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1,函数名的内存地址: def func(): print("呵呵") print(func) # 结果为:<function func at 0x00000000029299D8> 打印出func的内存地址 2,函数名可以赋值给其他变量: def func(): print("呵呵") a = func # 把函数当成一个变量赋值给另一个变量 a()…
函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作元素存放在容器中 def func() print(1) lst = [func,func,func] for i in lst i() 3.函数名可以当作函数的参数 def func(f): f() def foo(): print(1) func(foo) 4.函数名可以当作函数的返回值 def…
一 .函数名的运用    ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址    ③ 函数名可以赋值给其他变量         ④函数名可以当做容器类的元素     ⑤函数名可以当做函数的参数     ⑥函数名可以作为函数的返回值 二.闭包 闭包就是内层函数, 对外层函数(非全局)的变量的引⽤. 标准的闭包   ①优点:1).可以保护变量不受侵害 2),保持一个变量常驻内存 ②    .__closure__    查看是否是闭包 返回 None…
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么叫做闭包? 1.必须是嵌套函数 2.在嵌套函数的内部的函数可以使用外部的变量(非全局变量) 闭包的特性? 1.python中的闭包会出现内存驻留,普通函数执行一次内存开辟的空间就销毁了.(此处记录一下:不是开辟的内存空间销毁了,是命名空间存放的变量名和值的映射关系销毁了,而开辟的空间的值还在!) 2…
函数名的本质 函数名本质上就是函数的内存地址 函数名的五种运用: 1.函数名是一个变量 def func(): print(666) print(func) # 函数的内存地址 <function func at 0x000002B6D2559AE8> 2.函数名可以当做变量赋值 def func(): print(666) f1 = func f2 = f1 f2() 3.函数名可以当做容器类数据类型的元素 def func1(): print(111) def func2(): print…
Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 目录 Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 内容纲要 1.函数名的第一类对象及使用 2.f 格式化 3.迭代器 4.递归 5.今日总结 6.今日练习 内容纲要 1.函数名的第一类对象及使用 2.f格式化 3.迭代器 4.递归 1.函数名的第一类对象及使用 第一类对象的的特殊点: 1.可以当做值赋值给变量 # def func(): # print(1) # # print(func) #…
小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). 可以作为集合的元素进行存储 # def chi(): # print("吃月饼") # print(chi) # fn = chi # 函数名可以进行赋值 # a = 10 # b = a # chi() # fn() # 函数名可以像变量名一样进行使用 # def func1(): #…
本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================================== 一.函数嵌套 1. 函数的嵌套调用 函数内又调用了其他函数(函数平级) def max(x,y): return x if x > y else y def max4(a,b,c,d): res1=max(a,b) res2=max(res1,c) res3=m…
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么叫做闭包? 1.必须是嵌套函数 2.在嵌套函数的内部的函数可以使用外部的变量(非全局变量)闭包的特性? 1.python中的闭包会出现内存驻留,普通函数执行一次内存开辟的空间就销毁了.(此处记录一下:不是开辟的内存空间销毁了,是命名空间存放的变量名和值的映射关系销毁了,而开辟的空间的值还在!) 2.…
一.第一类对象 1.函数名的运用     函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量     1.函数名的内存地址 def func1(): print('你是谁,你来自哪里') print(func1) # <function func1 at 0x000001256F021E18> 2.函数名可以赋值给其他变量 def func1(): print('这是函数1') # print(func1) res = func1 # 把函数当成一个变量赋值给另一个变量 re…
一 . 第一类对象 函数对象可以像变量一样进行赋值 , 还可以作为列表的元素进行使用 可以作为返回值返回 , 可以作为参数进行传递 def func(): def people(): print('金_卡戴珊') print('oh,yes!') print('oh,baby!') return people ret = func() ret() 二 . 闭包 闭包 -> 函数的嵌套 内层函数对外层函数中的变量的使用 好处: 1. 保护变量不被侵害 2. 让一个变量常驻内存 如何通过代码查看一个…
目录 一 函数对象 二 函数的嵌套 三 名称空间和作用域 四 闭合函数 五 装饰器 一.函数对象 1.函数是第一类对象 #第一类对象的特性:# 可以被引用 # 可以当做参数传递 # 返回值是函数 # 可以当做容器类型的元素 # def func(): # print('from func') #可以被引用 # f=func() #可以被当做参数 # def bar(x): # print(x)#func内存地址 # x() # bar(func) #当做返回值 # def bar(x):#x=f…
内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存地址1.2 函数名可以赋值给其他变量 def func(): print("哈哈") a = func #将函数名赋值给a a() print(func) #内存地址是一致的 print(a)1.3 函数名可以当做容器类的元素 def func1(): print("呵呵&quo…
一.函数名的应用 1.函数名就是函数的内存地址 def func(): print(666) func() print(func) #函数的内存地址 2.函数名可以作为变量 def func1(): print(666) f1 = func1 f2 = f1 f2() #执行结果为 666 3.函数名可以作为函数的参数 def func1(): print(666) def func2(x): x() func2(func1) 4.函数名可以作为函数的返回值 def wraaper(): def…
一.函数的嵌套: 1.函数的嵌套调用 def max2(x,y): m = x if x>y else y return m def max4(a,b,c,d): res1 = max2(a,b) res2 = max2(res1,c) res3 = max2(res2,d) return res3 # max4(23,-7,31,11) 函数的嵌套调用 函数的嵌套调用 2.函数的嵌套定义 函数的嵌套定义 3.函数的作用域链:小范围作用域可以使用大范围的变量,但是反之不行,他是单向的. def…
前面内容补充 函数名分应用(第一类对象) 函数名的命名规范与变量命名是一样的函数名其实就是变量名 函数名可以作为列表中的元素进行存储 例如: def func1(): pass def func2(): pass def func3(): pass lis = [func1,func2,func3] for el in lis: el() 可以作为参数传递给函数, def func(): pass def proxy(fu): fu() proxy(func) 可以作为函数的返回值 def fu…
正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性.那到底什么是第一类对象呢? 函数是对象 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性…
一.第一对象 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数, 还可以当做函数的返回值,这些特性就是第一类对象所特有的. 对象的特性拥有:id.类型.和值. 以函数为例子 >>> id(func) 496835846 >>> type(funck) <class 'function'> >>>func<function foo at 0x103f…
一.函数名的应用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数变量. 1.函数名的内存地址 def func(): print("哈哈") print(func) #<function func at 0x000002750A7998C8> 2.函数名可以赋值给其他变量 def func(): print("哈哈") print(func) a = func #把函数当成一个变量赋值给另一个变量 a() #函数调用 fun…
Python 闭包.迭代器.生成器.装饰器 一.闭包 闭包:闭包就是内层函数对外层函数局部变量的引用. def func(): a = "哈哈" def func2(): print(a) # 引用了外层函数的局部变量a,闭包 func2() func() 我们可以使用__closure__来查看是否是闭包. def func(): a = "哈哈" def func2(): print(a) # 引用了外层函数的局部变量a,闭包 func2() print(fun…
Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象(Iterable) 大部分对象都是可迭代,只要实现了__iter__方法的对象就是可迭代的. __iter__方法会返回迭代器(iterator)本身,例如: >>> lst = [1,2,3] >>> lst.__iter__() <listiterator obj…
函数名的使用: 函数名可以作为值,赋值给变量. 函数名可以作为参数传参给函数. 函数名可以作为返回值. 函数名可以作为元素存储在容器里. 闭包:在嵌套函数内,使用外层局部变量(非全局变量)就是一个闭包,闭包可以多层嵌套.闭包的优点: 避免局部变量不被外界修改. 函数生命周期延长. 节省开辟空间,销毁空间的时间. 闭包的作用:就是使一个局部变量常驻内存,方便后面程序调用.使用__closure__查看一个函数是否是闭包: def func1(): str_ = "闭包" # 局部变量 d…
复习 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.返回内部函数对象---->  延迟执行, 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 装饰器:装饰器名就是外层函数 @outer @outer  # fn = outer(fn) def fn(): pass 今日内容 1.带参装饰器  |  2.wrapper  |  3.可迭代对象 |   4.迭代器对象  |  5.for 迭代器工作原理 |  6.枚举对象…