美文网首页
Python的new与init

Python的new与init

作者: Aresx | 来源:发表于2019-07-10 12:54 被阅读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/zzackctx.html