Python不可变类的__init__方法是什么,例如漂浮的样子?

时间:2015-07-13 02:52:58

标签: python

似乎Python不可变类的__init__方法毫无意义,因为在创建对象之后,不允许进行属性赋值。但很明显,__init__方法确实存在于不可变对象中。它是如何实现的?它有空方法体吗?

1 个答案:

答案 0 :(得分:2)

__init__什么都不做,只是继承自object。所有工作都在__new__完成。

In [1]: float.__init__
Out[1]: <slot wrapper '__init__' of 'object' objects>

In [2]: float.__new__
Out[2]: <function float.__new__>

floattp_new的定义为float_new,可以看到here