【Python】Python的单下划线和双下划线分别有什么作用?

在 Python 中,单下划线和双下划线都有特殊的作用:

  1. 单下划线 _
  • 用于指定私有变量或方法,表示仅供内部使用,from module import * 不会导入。
## python www.itzhimei.com 代码
class Person:
  _name = 'Person'

  def _print(self):
    print(self._name)
  • 作为临时变量,代表不需要直接访问的值。
## python www.itzhimei.com 代码
for _ in range(5):
  print('Hello')
  1. 双下划线 __
  • 用于避免子类重写父类的同名属性和方法。
## python www.itzhimei.com 代码
class Person:
  __name = 'Person'

  def __print(self):
    print(self.__name)
  • 定义特殊方法,如init()、call()等。
  • 用户名字空间管理,如name代表类名、__dict代表类字典。
## python www.itzhimei.com 代码
print(Person.__name__) # 'Person' 
print(Person.__dict__) # 属性字典

简单来说,单下划线表示保护,双下划线表示私有。需要注意避免与Python特殊属性冲突。