python元类编程(3)

2020-02-03  本文已影响0人  TheRightPath1

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__方法
上一篇下一篇

猜你喜欢

热点阅读