有没有一种方法可以限制类变量由对象访问

时间:2020-01-28 17:21:01

标签: python python-3.x

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'值,我该如何限制它或是否有其他方法来声明常量?

1 个答案:

答案 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

因为只有@属性而没有相应的设置器,所以您无法更改值