在 Python 中,命名约定在对象命名中起着至关重要的作用。对象名称前的单下划线和双下划线具有特定含义,可指导程序员理解该对象的范围和可访问性。
对象名称中的单个前导下划线表明它供类内部使用。这是一种指示对象不打算从类外部访问或修改的方法。但是,需要注意的是,此约定是指导原则,而不是强制限制。
单下划线也用于表示不应从其他地方导入的模块或函数。通过在对象名称前添加下划线前缀,它向其他程序员表明它应被视为私有元素。
双前导下划线用于名称修改,这是一种在幕后修改对象名称的技术。此转换将对象的名称替换为包含类名和下划线的修改版本。
根据 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中文网其他相关文章!