美文网首页
Python的new与init

Python的new与init

作者: Aresx | 来源:发表于2019-07-11 17:53 被阅读0次

    Python的new与init

    区别

    • new方法是在init方法前被调用的。new负责创建,init负责创建后的赋值。
    • new是静态方法,参数中有cls。init是实例方法,参数中含有self。
    • new方法必须要返回一个实例,一般是调用父类的new方法。如果没有返回值,实例的init方法不会被执行。init方法没有返回值,或者返回值必须是空,否则引发异常。
    class A():
        def __new__(cls, *args, **kwargs):
            print("new")
            return super().__new__(cls)
    
        def __init__(self):
            print("init")
    

    输出:

    new
    init
    

    初学python,如对知识点理解有误还请指正。欢迎补充不足之处,看到后我会及时补充进文章中。

    相关文章

      网友评论

          本文标题:Python的new与init

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