python中的下劃線(xiàn)多種用法總結(jié)
在 Python 中,下劃線(xiàn)(underscore)有多種用法。它在不同的上下文中可以扮演不同的角色,下面是其常見(jiàn)用法的總結(jié):
1. 單下劃線(xiàn)"_" 1.1 作為臨時(shí)變量或無(wú)用變量
在循環(huán)或解包操作中,表示一個(gè)臨時(shí)的或不關(guān)心的變量。
for _ in range(5): print("Hello, World!") a, _, b = (1, 2, 3) print(a, b) # 輸出: 1 3
1.2 在交互式解釋器中
在交互式解釋器中,"_"用于保存最后一個(gè)表達(dá)式的結(jié)果。
>>> 5 + 3 8 >>> _ * 2 16
2. 單前導(dǎo)下劃線(xiàn) "_var
"
表示弱“內(nèi)部使用”約定,變量或方法不應(yīng)從外部訪問(wèn)(但不會(huì)真正限制訪問(wèn))。
class MyClass: def __init__(self): self._internal_var = 42 obj = MyClass() print(obj._internal_var) # 雖然可以訪問(wèn),但不推薦
3. 雙前導(dǎo)下劃線(xiàn) "__var
"
觸發(fā)名稱(chēng)改寫(xiě)機(jī)制(name mangling),避免子類(lèi)覆蓋父類(lèi)的同名屬性。
class Base: def __init__(self): self.__private_var = 42 class Derived(Base): def __init__(self): super().__init__() self.__private_var = 99 obj = Derived() print(obj.__dict__) # 輸出: {'_Base__private_var': 42, '_Derived__private_var': 99}
4. 雙前導(dǎo)和雙后綴下劃線(xiàn)"__var__
"
用于系統(tǒng)定義的特殊方法或變量,避免與用戶(hù)自定義屬性沖突。
class MyClass: def __init__(self): self.__init__ = "Not a constructor" obj = MyClass() print(obj.__init__) # 輸出: Not a constructor
5. 單后綴下劃線(xiàn) "var_
"
避免與 Python 關(guān)鍵字或內(nèi)置函數(shù)名沖突。
def my_function(class_): return class_ + 1 print(my_function(3)) # 輸出: 4
6. 其它特殊用法
6.1 單下劃線(xiàn) "_" 在數(shù)值中表示千位分隔符
從 Python 3.6 開(kāi)始,單下劃線(xiàn)可以在數(shù)值常量中用作千位分隔符,提高可讀性。
num = 1_000_000 print(num) # 輸出: 1000000
6.2 "_" 作為 I18N 庫(kù)中的別名
在某些國(guó)際化(I18N)庫(kù)中,"_" 用作翻譯函數(shù)的快捷方式。
import gettext _ = gettext.gettext print(_("This is a translatable string"))
總結(jié)
下劃線(xiàn)在 Python 中有豐富的語(yǔ)義,通過(guò)上下文和使用位置的不同,可以表示各種不同的含義。了解這些用法對(duì)于編寫(xiě)符合 Python 風(fēng)格指南(PEP 8)的代碼和理解他人代碼非常重要。
到此這篇關(guān)于python中的下劃線(xiàn)用法總結(jié)的文章就介紹到這了,更多相關(guān)python下劃線(xiàn)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)多線(xiàn)程端口掃描
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)多線(xiàn)程端口掃描,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Python 處理表格進(jìn)行成績(jī)排序的操作代碼
這篇文章主要介紹了Python 處理表格進(jìn)行成績(jī)排序,也就是說(shuō)將學(xué)生從按照學(xué)號(hào)排序變?yōu)榘凑粘煽?jī)從高到低進(jìn)行排序,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧2021-07-07Matplotlib繪制混淆矩陣的實(shí)現(xiàn)
對(duì)于機(jī)器學(xué)習(xí)多分類(lèi)模型來(lái)說(shuō),其評(píng)價(jià)指標(biāo)除了精度之外,常用的還有混淆矩陣和分類(lèi)報(bào)告,下面來(lái)展示一下如何繪制混淆矩陣,這在論文中經(jīng)常會(huì)用到。感興趣的可以了解一下2021-05-05pytorch實(shí)現(xiàn)MNIST手寫(xiě)體識(shí)別
這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)MNIST手寫(xiě)體識(shí)別,使用全連接神經(jīng)網(wǎng)絡(luò),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02基于python實(shí)現(xiàn)計(jì)算兩組數(shù)據(jù)P值
這篇文章主要介紹了基于python實(shí)現(xiàn)計(jì)算兩組數(shù)據(jù)P值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07python 實(shí)現(xiàn)對(duì)文件夾中的圖像連續(xù)重命名方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)對(duì)文件夾中的圖像連續(xù)重命名方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10Python使用everything庫(kù)構(gòu)建文件搜索和管理工具
在這篇博客中,我將分享如何使用 Python 的 everytools庫(kù)構(gòu)建一個(gè)簡(jiǎn)單的文件搜索和管理工具,這個(gè)工具允許用戶(hù)搜索文件、查看文件路徑、導(dǎo)出文件信息到 Excel,以及生成配置文件,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08使用Python開(kāi)發(fā)視頻格式轉(zhuǎn)換工具
這篇文章主要介紹了如何使用Python開(kāi)發(fā)一個(gè)帶圖形界面的視頻格式轉(zhuǎn)換工具,可以將WMV格式的視頻轉(zhuǎn)換為手機(jī)可以播放的MP4格式,需要的可以參考下2024-12-12