python函数传递类对象_python函数之第一类对象

目录

第一类对象(英语:First-class object)在计算机科学中指可以在执行期创造并作为参数传递给其他函数或存入一个变数的实体。将一个实体变为第一类对象的过程叫做“物件化”(Reification)。

1、函数名字是对函数的引用。python中所有的东西都是对象,所以函数名字是函数对象的引用

>>> def foo():

print('in foo')

>>> foo

2、函数作为第一类变量可以赋值给其他变量

>>> def foo():

print('in foo')

>>> foo

>>> f = foo

>>> foo()

in foo

>>> f()

in foo

>>> id(f), id(foo)

(2207397752208, 2207397752208)

>>> f

3、函数作为第一类对象,可以作为参数传递

>>> def foo():

a = 10

return a

>>> print(foo())

10

4、函数作为第一对象,可以作为函数的返回值。

>>> def foo():

def inner():

print('我是函数的返回值')

return inner # 函数名可以返回

>>> ret = foo()

>>> ret() # 在函数外面访问了函数内部的函数

我是函数的返回值

5、函数名还可以作为容器类的元素

>>> def foo1():

print('我是函数一')

>>> def foo2():

print('我是函数二')

>>> def foo3():

print('我是函数三')

>>> def foo4():

print('我是函数四')

>>> list_foo = [foo1, foo2, foo3, foo4]

>>> for i in list_foo:

i()

我是函数一

我是函数二

我是函数三

我是函数四

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值