0
点赞
收藏
分享

微信扫一扫

Python中关于一切皆对象的深入理解

苦茶如歌 2022-10-27 阅读 79


文章目录

  • ​​Python一切皆对象​​
  • ​​与Java对比讲解一切皆对象​​
  • ​​函数与类都是对象​​
  • ​​可以赋值给变量​​
  • ​​可以添加到集合对象中​​
  • ​​作为参数传递给函数​​
  • ​​作为函数的返回值(由于装饰器的原理)​​

Python一切皆对象

与Java对比讲解一切皆对象

Python中所有东西都是对象,在Java中我们了解过,Python的面向对象更为彻底,Python一切皆对象的理念就是Python更为灵活的原因,其类与函数以及代码和模块都是对象,让其动态性得到充分体现

函数与类都是对象

可以赋值给变量

示例一:

def write(name="aaa"):
print(name)


if __name__ == '__main__':
myWrite = write
myWrite()
myWrite("God")

示例二:

class Person:
def __init__(self):
print("aaa")


if __name__ == '__main__':
myClass = Person
myClass()
等价于:
myClass = Person()

可以添加到集合对象中

def write(name="aaa"):
print(name)

class Person:
def __init__(self):
print("aaa")


if __name__ == '__main__':
objList = []
objList.append(write)
objList.append(Person)
for item in objList:
print(item())
结果分析:
aaa print函数结果
None 函数无返回值默认为NULL
aaa 类中print操作
<__main__.Person object at 0x000001B26C4F6550>

作为参数传递给函数

def write(name="aaa"):
print(name)


class Person:
def __init__(self):
print("aaa")


def getType(item):
print(type(item))


if __name__ == '__main__':
objList = []
objList.append(write)
objList.append(Person)
for item in objList:
getType(item)

作为函数的返回值(由于装饰器的原理)

def write(name="aaa"):
print(name)


def asParameter():
print("start")
return write


if __name__ == '__main__':
myFunc = asParameter()
myFunc("God")


举报

相关推荐

0 条评论