本文中介绍python常用的两个方法__new__,__init__,__call__.
-
__init__方法__init__方法负责初始化python对象,在系统执行,初始化对象。
class A:
def __init__(self):
print("__init__")
super(A, self).__init__()
def __new__(cls):
print("__new__")
return super(A, cls).__new__(cls)
def __call_(self):
print("__call__")
A()
输出结果
__new__
__init__
从输出结果看,__new__方法最先被调用,返回一个实例对象,接着__init__别调用。而__call__未被调用
__call__方法
关于__call__方法,先提到一个概念,叫可调动对象,平时定义的函数,内置函数和类都属于可调用对象,如果类中实现了__call__方法,那实例对象将成为一个可调用对象。
class A:
def __init__(self):
print("__init__")
super(A, self).__init__()
def __new__(cls):
print("__new__")
return super(A, cls).__new__(cls)
def __call_(self):
print("__call__")
a=A()
a()
输出结果
__new__
__init__
__call__
本文详细介绍了Python中的三个特殊方法:__new__、__init__ 和 __call__ 的使用及调用顺序。通过示例展示了这些方法如何帮助创建和初始化对象,并使对象成为可调用的。
746

被折叠的 条评论
为什么被折叠?



