在 Python 中,单下划线和双下划线都有特殊的作用:
- 单下划线 _
- 用于指定私有变量或方法,表示仅供内部使用,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')
- 双下划线 __
- 用于避免子类重写父类的同名属性和方法。
## 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特殊属性冲突。