gpt4 book ai didi

python - 如何在 __init__ 中设置一个只读的@property

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:43 24 4
gpt4 key购买 nike

我只是想知道如何使用只读属性并在 __init__ 中设置初始值

我想要这样的东西:在构造函数中设置的简单私有(private)(就像 python 启用隐私一样)变量。

class A:
def __init__(self, value: int):
self.value = value

@property
def value(self):
return self.value

据我所知这是不可能的(无法设置值)?

最佳答案

函数是 python 中的一等公民。您的类(class)中不能有两个名字完全相同的成员。基本上你的类(class)已经有一个 self.value类型 <class 'property'>您的代码尝试设置为 value 给出的整数这是被禁止的 - 所以会弹出此错误。

绕过它:

class A:
def __init__(self, value: int):
self._value = value # private backer

@property
def value(self):
return self._value

my_a = A(22) # works, no error
print(my_a.value) # 22

关于python - 如何在 __init__ 中设置一个只读的@property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53133925/

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