美文网首页
python元类编程(3)

python元类编程(3)

作者: TheRightPath1 | 来源:发表于2020-02-03 09:28 被阅读0次

    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__方法
    

    相关文章

      网友评论

          本文标题:python元类编程(3)

          本文链接:https://www.haomeiwen.com/subject/btacxhtx.html