【发布时间】:2013-06-19 06:30:30
【问题描述】:
我们可以在 python 中模拟私有和受保护的访问说明符吗?
名称修改
例如:
__var=10
可以模拟私有,但可以通过对象轻松访问外部。
object._className__var
那么有没有办法我们可以模拟或直接用python解决我不知道的解决方案?
【问题讨论】:
标签: python private public access-specifier name-mangling
我们可以在 python 中模拟私有和受保护的访问说明符吗?
名称修改
例如:
__var=10
可以模拟私有,但可以通过对象轻松访问外部。
object._className__var
那么有没有办法我们可以模拟或直接用python解决我不知道的解决方案?
【问题讨论】:
标签: python private public access-specifier name-mangling
Python 不像您可能习惯的其他一些语言那样具有强制访问控制。该语言的哲学是“我们都是自愿的成年人”。
按照惯例,私有属性的前缀是下划线,这是对人们不应该直接使用的暗示。但仅此而已,约定。如果您想对 Python 进行沙箱处理,则需要在单独的进程中进行。
双下划线修饰的目的是防止意外的名称冲突,而不是强制访问控制。
【讨论】: