python中的下劃線多種用法總結(jié)
在 Python 中,下劃線(underscore)有多種用法。它在不同的上下文中可以扮演不同的角色,下面是其常見(jiàn)用法的總結(jié):
1. 單下劃線"_" 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 31.2 在交互式解釋器中
在交互式解釋器中,"_"用于保存最后一個(gè)表達(dá)式的結(jié)果。
>>> 5 + 3 8 >>> _ * 2 16
2. 單前導(dǎo)下劃線 "_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)下劃線 "__var"
觸發(fā)名稱改寫機(jī)制(name mangling),避免子類覆蓋父類的同名屬性。
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)和雙后綴下劃線"__var__"
用于系統(tǒng)定義的特殊方法或變量,避免與用戶自定義屬性沖突。
class MyClass:
def __init__(self):
self.__init__ = "Not a constructor"
obj = MyClass()
print(obj.__init__) # 輸出: Not a constructor5. 單后綴下劃線 "var_"
避免與 Python 關(guān)鍵字或內(nèi)置函數(shù)名沖突。
def my_function(class_):
return class_ + 1
print(my_function(3)) # 輸出: 46. 其它特殊用法
6.1 單下劃線 "_" 在數(shù)值中表示千位分隔符
從 Python 3.6 開始,單下劃線可以在數(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é)
下劃線在 Python 中有豐富的語(yǔ)義,通過(guò)上下文和使用位置的不同,可以表示各種不同的含義。了解這些用法對(duì)于編寫符合 Python 風(fēng)格指南(PEP 8)的代碼和理解他人代碼非常重要。
到此這篇關(guān)于python中的下劃線用法總結(jié)的文章就介紹到這了,更多相關(guān)python下劃線用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 處理表格進(jìn)行成績(jī)排序的操作代碼
這篇文章主要介紹了Python 處理表格進(jìn)行成績(jī)排序,也就是說(shuō)將學(xué)生從按照學(xué)號(hào)排序變?yōu)榘凑粘煽?jī)從高到低進(jìn)行排序,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧2021-07-07
Matplotlib繪制混淆矩陣的實(shí)現(xiàn)
對(duì)于機(jī)器學(xué)習(xí)多分類模型來(lái)說(shuō),其評(píng)價(jià)指標(biāo)除了精度之外,常用的還有混淆矩陣和分類報(bào)告,下面來(lái)展示一下如何繪制混淆矩陣,這在論文中經(jīng)常會(huì)用到。感興趣的可以了解一下2021-05-05
pytorch實(shí)現(xiàn)MNIST手寫體識(shí)別
這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)MNIST手寫體識(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-07
python 實(shí)現(xiàn)對(duì)文件夾中的圖像連續(xù)重命名方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)對(duì)文件夾中的圖像連續(xù)重命名方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python使用everything庫(kù)構(gòu)建文件搜索和管理工具
在這篇博客中,我將分享如何使用 Python 的 everytools庫(kù)構(gòu)建一個(gè)簡(jiǎn)單的文件搜索和管理工具,這個(gè)工具允許用戶搜索文件、查看文件路徑、導(dǎo)出文件信息到 Excel,以及生成配置文件,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08

