Class sampleclass:
constant = 10
def __init(self,value)
self.value = value *10 + constant
x = sampleclass(2)
print (x.value) #prints the calculated value
print(x.constant) #prints the constant
问题:我不希望'x'访问'constant'值,我该如何限制它或是否有其他方法来声明常量?
答案 0 :(得分:0)
Python并非旨在执行此操作,因为您可以看到here。
但是,如果您真的希望您必须重写常量的getter和setter。
您可以这样做:
class Sampleclass:
def __init__(self,value):
self.value = value * 10 + self.constant
@property
def constant(self):
return 10
@property常量返回整数10
因为只有@属性而没有相应的设置器,所以您无法更改值