python - python中的私有(private)公共(public)保护访问说明符

标签 python private public access-specifier name-mangling

我们可以在 python 中模拟私有(private)和 protected 访问说明符吗?

名称修改

例如:

__var=10

可以模拟 private 但它可以通过对象轻松地在外部访问。

object._className__var

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

最佳答案

Python 不像您可能习惯的某些其他语言那样具有强制访问控制。该语言的理念是“我们都是自愿的成年人”。

按照惯例,私有(private)属性以下划线为前缀,这是对人们不应该直接使用它们的暗示。但仅此而已,惯例。如果你想对 Python 进行沙箱化,你需要在一个单独的进程中进行。

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

关于python - python中的私有(private)公共(public)保护访问说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246867/

相关文章:

java - 2 个 Java 类中的公共(public)私有(private)变量连接问题

java - 为什么在 Java 中使用公共(public)静态方法?

c# - {get; 和有什么不一样?设置;},{获取;私有(private)集;} 和{get;}?

python - 计算列表中相同列表的数量

package - Ada:理解私有(private)类型和理解包装

C# 抽象方法 : internally public and virtual?

mercurial - 在公共(public) Mercurial 存储库中跟踪私有(private)文件的最佳方式是什么?

Emacs 中的 python 代码补全

python - 从 spacy 中的存储模型加载后 doc.vector 不工作

python - 创建一个缓冲区并在 Python 中为其分配一个指针