python函数对象

函数对象

函数是第一类对象, 即函数能够被看成数据处理。函数

def func():
    print('from func')
print(func)#func 指向一块内存地址,函数名
#输出:
<function func at 0x000002AD89B5E5E8>

1、函数对象的四大功能

  1. 引用(变量名能够被引用,函数名也能够被引用)
def func():
    print('from func')
x = 'hello chen'
y = x
f = func
print(f,func)
#输出:
<function func at 0x000001CFCD9AE5E8> <function func at 0x000001CFCD9AE5E8>
  1. 看成一个参数传给一个函数
def func():
    print('from func')
def foo(m):
    m()
foo(func)
#输出:
from func
  1. 能够看成函数的返回值code

    def func():
        print('from func')
    def foo(x):
        return x
    
    res = foo(func)
    
    print(res)
    res()
    #输出:
    <function func at 0x000002036E0F4F78>
    from func
  2. 能够看成容器类元素对象

# 变量名能够放入容器类数据类型
def func():
    print('from func')
a= 1
lt = [1, 2, a, func]
lt[-1]()
#输出:
from func
相关文章
相关标签/搜索