使变量在Python中不可变

class Foo(float):
   ...

C = Foo(1.23)

给定这样的class / obj定义,我有什么办法使C只读?如果对象C初始化后曾经调用C = ...,我希望它引发错误。

abcd491336492 回答:使变量在Python中不可变

不可能。您可以使Foo对象不可变,但不能使对其引用的变量不可变。该对象不拥有该变量或对该变量具有任何控制权。

,

否。

无论您为C分配什么,C本身都不是您创建的任何类的实例。 C是一个变量。对变量进行操作的操作,例如C = something_new,除了减少引用计数外,它甚至不会查看您的对象。您可以定义对象上的操作的行为方式,但是不能重新定义变量本身的语义。

本文链接:https://www.f2er.com/3163647.html

大家都在问