2-1 python中一切皆对象

慕课网课程:Python高级编程和异步IO并发编程

函数和类也是对象,属于Python的一等公民:
什么叫一等公民呢,具备以下特性
1.赋值给一个变量
2.可以添加到集合对象中
3.可以作为参数传递给函数
4.可以当做函数的返回值

def ask(name='bobby'):
    print(name)

class Person:
    def __init__(self):
        print('bobby1')


1.赋值给一个变量
my_func=ask
my_func('bobby')

my_class=Person
my_class()

# 运行结果:
bobby
bobby1

2.可以添加到集合对象中
obj_list = []
obj_list.append(ask)
obj_list.append(Person)
for item in obj_list:
    print(item())

# 运行结果:
bobby
None
bobby1
<__main__.Person object at 0x00B218D0>

3.可以作为参数传递给函数
def print_type(item):
    print(type(item))
print_type(ask)
print_type(Person)

#运行结果
<class 'function'>
<class 'type'>

4.可以当做函数的返回值
def decorator_func():
    print('dec start')
    return ask

my_ask=decorator_func():
my_ask('tom')

#运行结果
dec start
tom
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值