内容目录
单下划线与双下划线的区别
Python用下划线作为前缀和后缀指定特殊变量和定义方法,主要有如下四种形式:
单下划线(_)
名称前的单下划线(如:_name)
名称前的双下划线(如:__name)
名称前后的双下划线(如:_ init _)
单下划线(_)
只有单划线的情况,主要有两种使用场景:
1、在交互式解释器中,单下划线“_”代表的是上一条执行语句的结果。如果单下划线前面没有语句执行,交互式解释器将会报单下划线没有定义的错误。也可以对单下划线进行赋值操作,这时单下划线代表赋值的结果。但是一般不建议对单下划线进行赋值操作,因为单下划线内建标识符。
"", line 1, in
'_' is not defined
"python"
'python'
'python'
"Java"
'Java'
2、单下划线“_”还可以作为特殊的临时变量。如果一个变量在后面不会再用到,并且不想给这个变量定义名称,这时就可以用单下划线作为临时性的变量。比如对for循环语句遍历的结果元素并不感兴趣,此时就可以用单下划线表示。
# _ 这个变量在后面不会用到
for _ in range(5):
"Python")
名称前的单下划线(如:_name)
当在属性和方法前面加上单下划线“_”,用于指定属性和方法是“私有”的。但是Python不像Java一样具有私有属性、方法、类,在属性和方法之前加单下划线,只是代表该属性、方法、类只能在内部使用,是API中非公开的部分。如果用from import * 和 from import * 时,这些属性、方法、类将不被导入。
# Test.py 文件
#普通属性
"Java"
#单下划线属性
"Python"
#普通方法
def method():
"我是普通方法")
#单下划线方法
def _otherMethod():
"我是单下划线方法")
#普通类
class PC