Python:__init__和__new__之间的区别

时间:2018-09-23 16:55:10

标签: python class constructor

我试图了解Python 2.7类中<iframe allowfullscreen="" frameborder="0" height="270" src="https://www.youtube.com/live_chat?v=hHW1oY26kxQ&embed_domain=localhost" width="480"></iframe><br />__init__之间的区别

我有以下示例代码:

__new__

我有问题:

  • 错误
  

obj = super()。(cls)   TypeError:super()至少接受1个参数(给定0个参数)

  • 如果我删除带有class Point(object): def __new__(cls,*args,**kwargs): print("From new") print(cls) print(args) print(kwargs) # create our object and return it obj = super().__new__(cls) return obj def __init__(self,x = 0,y = 0): print("From init") self.x = x self.y = y p = Point(2,3) 的行,则super()似乎没有运行,因为看不到它的打印语句。

有什么想法吗?

0 个答案:

没有答案