Python----Python中一切皆对象

【原文链接】

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中,函数和类都和普通的变量一样,都可以赋值,加到列表中,也可以作为函数的参数传入函数,也可以作为函数的返回值返回


版权声明:本文为redrose2100原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。