财产装饰者-如何保护私有财产?

时间:2020-04-20 00:15:40

标签: python

我阅读了大量文档和答案,到目前为止,我还没有发现任何能保护python类属性不受客户端修改的东西。

这是一个例子:

class Dog:
    def __init__(self):
        self._legs = 4
    @property
    def legs(self):
        return self._legs

    @legs.setter
    def legs(self, n):
        self._legs = 4

无论我们是否使用leg.setter方法,用户都可以通过_legs内部名称随时读取或修改Dog的属性。他们甚至可以通过调用以下命令来修改其值:

dog = Dog()
dog._legs = 3

print(dog.legs)
# output 3

我真的看不到它如何防止东西被客户端窃取或修改吗?

0 个答案:

没有答案