Python 用底線作為變數首碼和尾碼指定特殊變數。
_xxx 不能用'from module import *'匯入
__xxx__ 系統定義名字
__xxx 類中的私人變數名
核心風格:避免用底線作為變數名的開始。
因為底線對解譯器有特殊的意義,而且是內建標識符所使用的符號,我們建議程式員避免用底線作為變數名的開始。一般來講,變數名_xxx被看作是“私人的”,在模組或類外不可以使用。當變數是私人的時候,用_xxx 來表示變數是很好的習慣。因為變數名__xxx__對Python 來說有特殊含義,對於普通的變數應當避免這種命名風格。
"單底線" 開始的成員變數叫做保護變數,意思是只有類對象和子類對象自己能訪問到這些變數;
"雙底線" 開始的是私人成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個資料。
以單底線開頭(_foo)的代表不能直接存取的類屬性,需通過類提供的介面進行訪問,不能用“from xxx import *”而匯入;以雙底線開頭的(__foo)代表類的私人成員;以雙底線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如 __init__()代表類的建構函式。
參考:
http://www.python.org/dev/peps/pep-0008/
http://www.x5dj.com/Blog/00182202/00570667.shtml
http://blog.csdn.net/eishn/archive/2008/09/20/2955465.aspx
http://www.86oo.com/html/Python_Pythonjiaocheng/20090120/0120432009.html
blog.csdn.net/gudesheng/archive/2008/03/11/2169038.aspx
from:http://hi.baidu.com/jiyeqian/blog/item/3a037b100d8d0409203f2e23.html