gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:09 25 4
gpt4 key购买 nike

看来Python不可变类的__init__方法没有意义,因为对象创建后,属性赋值是不允许的。但显然 __init__ 方法确实存在于不可变对象(immutable对象)中。它是如何实现的?它有空方法体吗?

最佳答案

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

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

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

float类的tp_new的定义是float_new,可见here .

关于python - 什么是 Python 不可变类的 __init__ 方法,例如漂浮的样子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com