本文是我CSDN上移植到今日頭條的文章,在此聲明,不是抄襲,附上CSDN鏈接地址
https://blog.csdn.NET/jeekmary/article/details/120613031
本來而言,這個問題網上很多資料,但是網上資料都是復制來復制去,很多話大家其實都不是很明白的,或者拿著官方文檔翻譯過來的,讓人看的非常迷糊。今天我我通俗好懂表述解釋下這幾種情況
1、后單下劃線例如: data_
其實這種就是為了防止跟系統關鍵字重名了,比如 Python/ target=_blank class=infotextkey>Python 里是不是有個關鍵字 class
但是我也想用 class做變量怎么辦,如果不做處理肯定是不行的有沖突
所以我們在后面添加 _ 變成 class_, 就可以用了。
我覺得但凡懂點編程的人都能明白這個
2、前單下劃線例如: _data
這種其實就是為了告訴程序員,這個為內部使用的變量,不要再外部使用,僅在內部使用,就是為了設置一個提示,但是外部還是可以用。只是告訴程序員最好不要再外部使用,如果是函數,也是同樣的道理。
代碼運行圖片
看到沒,系統不會提示出來,但是強制寫上去也是可以用的
3、前雙下劃線例如: __data
這種就更簡單了,其實就是私有的變量和函數,子類不能用,一用就報錯。
雙前下劃線
簡單吧
4、前后雙下劃線: __data__
這種類型的其實就是Python內部調用的,我們根本就不用管怎么調用,比如:
內部使用
這種就是系統內部調用的,這些函數都是在我們調用其他函數,在內部使用到了他們,比如這里 的 __init __就是一個構造函數,我們在調用 Person() 自然在內部調用到了他,再比如我們調用的 len() 內部也會調用類似的函數,我們知道就好。
5、單下劃線例如: _
1、這個其實也是一個變量,表示一個臨時對象
for _ in “hongbiao”: 這種情況就跟普通變量沒有關系
2、表示程序中運行的最近一個結果,我上一個圖大家明白了
單下劃線
歡迎讀者批評指正