3

我们可以在 python 中模拟私有和受保护的访问说明符吗?

名称修改

例如:

__var=10

可以模拟私有,但可以通过对象轻松访问外部。

object._className__var

那么有没有一种方法可以模拟或直接使用 python 解决我不知道的解决方案?

4

1 回答 1

6

Python 不像您可能习惯的其他一些语言那样具有强制访问控制。该语言的哲学是“我们都是同意的成年人”。

按照惯例,私有属性的前缀是下划线,这是对人们不应该直接使用的暗示。但仅此而已,约定。如果要对 Python 进行沙箱化,则需要在单独的进程中进行。

双下划线修饰的目的是防止意外的名称冲突,而不是强制访问控制。

于 2013-06-22T02:50:39.143 回答