使用编码:
在第一行或者第二行输入以下三种之一:
# coding : utf-8
# coding = utf-8
# -*- coding:utf-8 -*-
前单下划线:
是一个python命名约定表示这个名称是供内部使用的,它通常不是由
python解释器强制执行,仅仅作为对程序员的提示
通配符导入(from my_module import *)则python不会导入带有前下划线的名称
如果遵循PEP8 推荐避免使用通配符导入
后单下划线:
是一个约定用来避免与python关键字产生名字冲突。PEP8 解释这个约定
双前下划线:__var:
双下划线前缀会导致python解释器重写属性名称,以避免子类中的命名冲突
双下滑线名称修饰对程序员是完全透明的,既不能直接访问(类似private)
__MangleGlobal__mangled = 23
class MangleGlobal :
def test(self):
return __mangled
MangleGlobal().test() 的到的值为23
python解释器自动将名称__mangled扩展为__MangleGlobal__mangled
因为它以两个下划线字符开头,这表明名称修饰不是专门与类属性关联的,
它适用于在类上下文中使用的两个下划线字符开头的任何名称。
双下划线开始和结尾 __var__:
表示python语言定义的特殊方法,避免在你自己的属性中使用这种命名方法
单下划线 _ :
有时作用临时或者无意义变量的名称(不关心)。
也表示python REPL中最近一个表达式的结果
>>> 20 + 3 ==>23
>>> - ==>23 最近表达式结果
car = ("red", "auto", 12, 1024)
color,_,_,length = car;
print(color) ==> red
print(length) ==> 1024
print(_) ==> 12