python中的下劃線多種用法總結(jié)
在 Python 中,下劃線(underscore)有多種用法。它在不同的上下文中可以扮演不同的角色,下面是其常見用法的總結(jié):
1. 單下劃線"_" 1.1 作為臨時變量或無用變量
在循環(huán)或解包操作中,表示一個臨時的或不關(guān)心的變量。
for _ in range(5): print("Hello, World!") a, _, b = (1, 2, 3) print(a, b) # 輸出: 1 3
1.2 在交互式解釋器中
在交互式解釋器中,"_"用于保存最后一個表達式的結(jié)果。
>>> 5 + 3 8 >>> _ * 2 16
2. 單前導下劃線 "_var
"
表示弱“內(nèi)部使用”約定,變量或方法不應從外部訪問(但不會真正限制訪問)。
class MyClass: def __init__(self): self._internal_var = 42 obj = MyClass() print(obj._internal_var) # 雖然可以訪問,但不推薦
3. 雙前導下劃線 "__var
"
觸發(fā)名稱改寫機制(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. 雙前導和雙后綴下劃線"__var__
"
用于系統(tǒng)定義的特殊方法或變量,避免與用戶自定義屬性沖突。
class MyClass: def __init__(self): self.__init__ = "Not a constructor" obj = MyClass() print(obj.__init__) # 輸出: Not a constructor
5. 單后綴下劃線 "var_
"
避免與 Python 關(guān)鍵字或內(nèi)置函數(shù)名沖突。
def my_function(class_): return class_ + 1 print(my_function(3)) # 輸出: 4
6. 其它特殊用法
6.1 單下劃線 "_" 在數(shù)值中表示千位分隔符
從 Python 3.6 開始,單下劃線可以在數(shù)值常量中用作千位分隔符,提高可讀性。
num = 1_000_000 print(num) # 輸出: 1000000
6.2 "_" 作為 I18N 庫中的別名
在某些國際化(I18N)庫中,"_" 用作翻譯函數(shù)的快捷方式。
import gettext _ = gettext.gettext print(_("This is a translatable string"))
總結(jié)
下劃線在 Python 中有豐富的語義,通過上下文和使用位置的不同,可以表示各種不同的含義。了解這些用法對于編寫符合 Python 風格指南(PEP 8)的代碼和理解他人代碼非常重要。
到此這篇關(guān)于python中的下劃線用法總結(jié)的文章就介紹到這了,更多相關(guān)python下劃線用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于python實現(xiàn)計算兩組數(shù)據(jù)P值
這篇文章主要介紹了基于python實現(xiàn)計算兩組數(shù)據(jù)P值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07python 實現(xiàn)對文件夾中的圖像連續(xù)重命名方法
今天小編就為大家分享一篇python 實現(xiàn)對文件夾中的圖像連續(xù)重命名方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python使用everything庫構(gòu)建文件搜索和管理工具
在這篇博客中,我將分享如何使用 Python 的 everytools庫構(gòu)建一個簡單的文件搜索和管理工具,這個工具允許用戶搜索文件、查看文件路徑、導出文件信息到 Excel,以及生成配置文件,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08