python中的下劃線多種用法總結(jié)
在 Python 中,下劃線(underscore)有多種用法。它在不同的上下文中可以扮演不同的角色,下面是其常見用法的總結(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)從外部訪問(但不會(huì)真正限制訪問)。
class MyClass:
def __init__(self):
self._internal_var = 42
obj = MyClass()
print(obj._internal_var) # 雖然可以訪問,但不推薦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和PyTorch的核心區(qū)別(零基礎(chǔ)秒懂)
PyTorch最近幾年可謂大火,相比于TensorFlow,PyTorch對(duì)于Python初學(xué)者更為友好,更易上手,下面這篇文章主要介紹了Python和PyTorch核心區(qū)別的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-01-01
Python使用?TCP協(xié)議實(shí)現(xiàn)智能聊天機(jī)器人功能
TCP協(xié)議適用于對(duì)效率要求相對(duì)較低而準(zhǔn)確性要求很高的場(chǎng)合,下面通過(guò)本文給大家介紹基于Python?使用?TCP?實(shí)現(xiàn)智能聊天機(jī)器人,需要的朋友可以參考下2022-05-05
nlp計(jì)數(shù)法應(yīng)用于PTB數(shù)據(jù)集示例詳解
這篇文章主要為大家介紹了nlp計(jì)數(shù)法應(yīng)用于PTB數(shù)據(jù)集示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
python函數(shù)定義和調(diào)用過(guò)程詳解
這篇文章主要介紹了python函數(shù)定義和調(diào)用過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
python之PyInstaller(將Python腳本打包為可執(zhí)行文件方式)
PyInstaller將Python腳本打包為跨平臺(tái)可執(zhí)行文件,自動(dòng)處理依賴庫(kù),支持單文件/目錄模式,便于分發(fā),適用于GUI、數(shù)據(jù)文件處理及多平臺(tái)部署,優(yōu)化體積與權(quán)限問題2025-09-09
python如何修改PYTHONPATH環(huán)境變量
這篇文章主要介紹了python如何修改PYTHONPATH環(huán)境變量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

