在 Java 中,通常的做法是使用“public”、“private”和“ protected”来控制类变量的可见性。然而,Python 采用了不同的方法,引发了关于此类修饰符的必要性的问题。
最初,在 Python 中,人们可以简单地通过在构造函数中赋值来创建实例变量,如 中提到的代码片段所示询问。这引起了对修改类外部变量的担忧,而 Java 中的访问修饰符明确阻止了这种情况。
这种差异的答案在于 Python 的文化规范。与 Java 不同,Python 强调代码所有权的概念,不鼓励修改属于其他类的变量的做法。它假设开发人员将负责任地行事并遵守既定惯例。
对于那些寻求表面隐私的人,Python 根据 PEP 8 指南提供了 __ 前缀选项。此前缀修改变量的名称,使其在其名称空间之外不那么可见。然而,需要注意的是,这种方法并不是万无一失的,有决心的个人仍然可以访问这些变量。
相反,_ 前缀通常用于指示变量仅供内部使用类或模块。虽然从技术上讲可以从外部访问,但该约定不鼓励直接操作,而是作为开发人员之间合作的礼貌请求。
最终,Python 缺乏显式访问修饰符依赖于程序员之间尊重其他类边界的共同理解' 变量。这种方法营造了一个协作环境,让开发人员可以相信他们的代码将得到负责任的处理。
以上是为什么Python没有真正的私有类变量?的详细内容。更多信息请关注PHP中文网其他相关文章!