一.函数名的运用 函数名就是一个变量名,但它是一个特殊的变量名,是一个后面加括号可以执行函数的变量名. def func(): print("我是一个小小的函数") a = func print(a) func() a() func = 3 print(func) 函数名的命名规范与变量的命名规范一样. 函数名可以作为列表中的元素进行存储. 可以作为参数传给函数 def my(): print("我是my") def proxy(fn): # 代理模式. 装饰器 p…
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么叫做闭包? 1.必须是嵌套函数 2.在嵌套函数的内部的函数可以使用外部的变量(非全局变量) 闭包的特性? 1.python中的闭包会出现内存驻留,普通函数执行一次内存开辟的空间就销毁了.(此处记录一下:不是开辟的内存空间销毁了,是命名空间存放的变量名和值的映射关系销毁了,而开辟的空间的值还在!) 2…
一.函数名的运用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1,函数名的内存地址: def func(): print("呵呵") print(func) # 结果为:<function func at 0x00000000029299D8> 打印出func的内存地址 2,函数名可以赋值给其他变量: def func(): print("呵呵") a = func # 把函数当成一个变量赋值给另一个变量 a()…
一.第一对象 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数, 还可以当做函数的返回值,这些特性就是第一类对象所特有的. 对象的特性拥有:id.类型.和值. 以函数为例子 >>> id(func) 496835846 >>> type(funck) <class 'function'> >>>func<function foo at 0x103f…
1.函数名就是一个变量 def func(): print("我是一个小小的函数") a = func print(a) #输出变量存放地址 <function func at 0x00000251AD780048> func() #func()等同于a(),输出 我是一个小小的函数 2.函数名是变量名 def func1(): print("我是1") def func2(): print("我是2") def func3(): p…
一.函数名的应用 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 func(): print("哈哈") print(func) #<function func at 0x000002750A7998C8> 2.函数名可以赋值给其他变量 def func(): print("哈哈") print(func) a = func #把函数当成一个变量赋值给另一个变量 a() #函数调用 fun…
⼀. 函数名的运⽤. 1.函数名的内存地址 def func():    print("呵呵") print(func) 结果: <function func at 0x1101e4ea0> 2. 函数名可以赋值给其他变量. def func(): print("呵呵") print(func) a = func # 把函数当成一个变量赋值给另⼀一个变量 a() # 函数调用 func() 3. 函数名可以当做容器类的元素 def func1(): pr…
简单讲解闭包的写法和应用,在这之前,先声明,你定义的任意一个函数都可以作为其他函数的参数.就像下面这段代码的参数func,接收的参数就是一个函数名,在函数体内部使用了func()调用执行函数. 请看下面的代码,注意标红的位置,猜猜看结果 def a(func): def inner(): print("验证中") func() return inner def f2(): print("--------2-----") f2 = a(f2) f2() 结果是先打印:…
0.动态传参内容补充: 0.1 单纯运行如下函数不会报错. def func1(*args,**kwargs): pass func1() 0.2 *的魔性用法 * 在函数定义的时候,代表聚合. *在函数的执行的时候,代表打散. def func1(*args,**kwargs): print(args) #(1, 2, 3) func1(*[1,2,3]) *在函数的执行的时候,代表打散. def func1(*args,**kwargs): print(*args) # print(*(1,…