【发布时间】:2019-10-15 03:45:09
【问题描述】:
通常可以使用以下内容创建实例:
class New:
def __new__(cls, *args, **kwargs):
# placeholder
return super().__new__(cls)
def __init__(self, name):
self.name = name
>>> n=New('bob')
>>> n
<__main__.New object at 0x103483550>
这里的幕后发生了什么?例如,类似:
new_uninitialized_obj = object.__new__(New)
new_initialized_obj = new_uninitialized_obj.__init__("Bob")
以上方法行不通,但我基本上只是想看看如何通过new 将基类型转换为实例对象,然后将init 转换为实例对象。这实际上是如何完成的?
【问题讨论】:
标签: python python-3.x