在本文中,我們將討論單下劃線(_
)和雙下劃線(__
)的作用。
當用戶用 Python 編寫代碼時,在某些情況下,他們使用單下劃線(_
),在某些情況下,他們使用雙下劃線(__
)。
以下是用戶使用下劃線的一些情況。
- 如果用戶想在解釋器中存儲最後一個表達式的值。
- 如果用戶想在代碼中聲明變數或函數。
- 如果用戶想分隔數字橫向值的位數。
- 因為忽略了一些價值觀。
- 下劃線還用作「本地化(l10n)」和「國際化(i18n)」功能。
讓我們看看這些案例的一些例子。
在解釋器中使用
Python 的解釋器會將最後一個表達式值存儲在「_」中。
示例:
print(47)
47
print(_)
47
print(_ + 13)
60
print(_)
60
print(_ - 10)
50
因為忽略了價值觀
這裡,我們將使用下劃線(_
)來忽略這些值。
示例:
A, B, C, D, _, E, F, G = (10, 20, 30, 40, 50, 60, 70, 80)
在這裡,
A = 10
B = 20
C = 30
D = 40
E = 60
F = 70
G = 80
下劃線(_
)用於忽略值 50。
使用下劃線(_
)聲明變數和函數
Python 語言不支持私有變數或函數,所以用戶不能強制私有變數和函數,但是可以直接從其他模塊調用它們。
示例:
using_single_underscore_
用戶可以使用尾部下劃線(_
)來避免與 Python 關鍵字和內置的衝突。
示例:
__double_leading_underscore
上面的雙下劃線(__
)用於避免名稱之間與屬性名稱的衝突。
如果用戶在類中寫入函數名「_display」,則該名稱將在**「 class name _ display」**表單中修改。
示例:
__double_leading_and_trailing_underscore__
在某些情況下,用戶將此表單用作 init。
用於分隔數字橫向值的數字
下劃線(_
)可用於分隔數字橫向值的數字
示例:
decoder_base = 5_000_000
print (decoder_base)
輸出:
5000000
作為本地化(l10n)和國際(i18n)功能
這只是一個原則,並沒有任何句法功能。下劃線(_
)用於將 i18n/l10n 綁定到帶下劃線的變數。它的概念取自 C 約定。
Python 變數的下劃線前綴是什麼意思?
類中具有前導下劃線(_
)的名稱用於向其他用戶指示該屬性或函數在程序中是私有的。
建議用戶對半私有變數使用單下劃線(_
),對完全私有變數使用雙下劃線(_
)。
在下面的示例中,我們將顯示單下劃線(_
)和雙下劃線(__
)前綴之間的區別。
示例:
class UserClass():
def __init__(self):
self.__fully_private = "JavaTpoint"
self.__fully_private = "to"
self._semi_private = "Hello"
self._semi_private = "Say"
mc = UserClass()
print(mc._semi_private)
print(mc.__fully_private)
輸出:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-10-4f3b78146b9f> in <module>
7 mc = UserClass()
8 print(mc._semi_private)
----> 9 print(mc.__fully_private)
AttributeError: 'UserClass' object has no attribute '__fully_private'
在上面的代碼中,用戶試圖訪問完全私有的變數,在輸出中,他們會得到錯誤消息 UserClass 沒有任何名為「 fully _ private」的屬性。
結論
在本文中,我們通過不同的例子討論了單下劃線(_
)和雙下劃線(_
)在 python 中的使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277234.html