1. new方法和init方法的区别
new放法用来控制对象的生成过程,是在对象生成之前调用。该方法的第一个参数是类,如果new方法不返回对象则不会调用init方法
init方法是用来操作和完善对象的,他传入的第一个参数是self,即传入的是生成的对象,init方法和new方法的参数必须统一,否则会报错。
代码示例
class Person(object):
def __new__(cls, *args, **kwargs):
print('__new__方法')
# return super().__new__(cls)
def __init__(self):
print('__init__方法')
if __name__ == '__main__':
p = Person()
运行结果
__new__方法
网友评论