1 python中一切皆对象,类和函数都是“一等公民”,其中一等公民的含义如下:
- 赋值给一个变量
- 可以增加到集合对象中
- 可以作为参数传递给参数
- 可以作为函数的返回值
2 下面用代码演示在python中类和函数都是一等公民
(1) 类和函数都可以进行赋值
# 定义一个函数
def func(name="default"):
print(name)
# 函数赋值
my_func=func
my_func("jack")
# 定义一个类
class Person:
def __init__(self):
print('person')
# 类进行赋值
MyPerson=Person
p=MyPerson()
执行结果如下:
jack
person
(2)类和函数都可以加到列表中去
# 定义一个函数
def func(name="default"):
print(name)
# 定义一个类
class Person:
def __init__(self):
print('person')
# 定义一个列表
obj_list=[]
# 函数和类可以加到列表中
obj_list.append(func)
obj_list.append(Person)
for item in obj_list:
item()
运行结果如下:
default
person
(3)类和函数都可以作为参数传入函数
# 定义一个函数
def func(name="default"):
print(name)
# 定义一个类
class Person:
def __init__(self):
print('person')
# 定义一个执行函数,参数为一个函数
def run(func):
print("begin to run func")
func()
print("finish running func...")
run(func)
run(Person)
执行结果如下:
begin to run func
default
finish running func...
begin to run func
person
finish running func...
(4)类和函数都可以作为函数的返回值
# 函数作为函数的返回值
def func_01():
def func():
print("jack")
return func
# 类作为函数的返回值
def func_02():
class Person():
def __init__(self):
print("person")
return Person
f=func_01()
f()
p=func_02()
p()
执行结果如下:
jack
person
总结:在python中,函数和类都和普通的变量一样,都可以赋值,加到列表中,也可以作为函数的参数传入函数,也可以作为函数的返回值返回