首页 > 后端开发 > Python教程 > Python 对象名称中的单下划线和双下划线有什么区别?

Python 对象名称中的单下划线和双下划线有什么区别?

DDD
发布: 2024-12-24 08:32:14
原创
608 人浏览过

What's the Difference Between Single and Double Underscores in Python Object Names?

揭秘 Python 对象名称中的下划线

在 Python 中,命名约定在对象命名中起着至关重要的作用。对象名称前的单下划线和双下划线具有特定含义,可指导程序员理解该对象的范围和可访问性。

单下划线 (_name)

对象名称中的单个前导下划线表明它供类内部使用。这是一种指示对象不打算从类外部访问或修改的方法。但是,需要注意的是,此约定是指导原则,而不是强制限制。

单下划线也用于表示不应从其他地方导入的模块或函数。通过在对象名称前添加下划线前缀,它向其他程序员表明它应被视为私有元素。

双下划线 (__name__)

双前导下划线用于名称修改,这是一种在幕后修改对象名称的技术。此转换将对象的名称替换为包含类名和下划线的修改版本。

根据 Python 文档,双下划线表示对象应被视为当前类中的私有变量或方法。然而,重要的是要明白名称修改并不是绝对的。有决心的个人仍然可以访问或修改标记为私有的变量。

示例

让我们考虑以下 Python 类:

class MyClass():
    def __init__(self):
        self.__superprivate = "Hello"
        self._semiprivate = ", world!"

mc = MyClass()
print(mc._semiprivate)  # Accessible
print(mc.__superprivate)  # Not accessible outside the class
登录后复制

中在此示例中,__superprivate 变量使用双下划线标记为私有,而 _semiprivate 变量使用单下划线下划线。 __superprivate 变量在类外部不可访问,而 _semiprivate 变量可以访问,但应被视为类内部。

以上是Python 对象名称中的单下划线和双下划线有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板