我只是想知道如何使用只读属性并在__init__
中设置初始值
我想要这样的东西:
只需在构造函数中设置的私有变量(最多可以使用python
来保护隐私)。
class A:
def __init__(self, value: int):
self.value = value
@property
def value(self):
return self.value
据我所知这是不可能的(无法设置值)?
答案 0 :(得分:2)
函数是python中的一等公民。您的班级中不能有两个名称完全相同的成员。本质上,您的类已经具有类型为self.value
的{{1}},您的代码尝试将其设置为给定的<class 'property'>
整数,这是禁止的,因此会弹出此错误。
通过以下方式规避它:
value