_
Python'da 4 ana konvansiyonel kullanıma sahiptir:
- Etkileşimli yorumlayıcı oturumunda son yürütülen ifadenin (/ ifadesinin) sonucunu tutmak. Bu emsal standart CPython tercümanı tarafından belirlendi ve diğer tercümanlar da bunu izledi
- Aşağıdaki
gibi kodda olduğu gibi i18n'deki çeviri araması
için (örneğin gettext belgelerine bakın):
raise forms.ValidationError(_("Please enter a correct username"))
- Genel bir amaç olarak "ıskarta" değişken adı gibi kodda olduğu gibi, (. Kavramsal olarak, atılan ediliyor) bir işlev sonucu o kısmı kasten göz ardı edildiğini göstermek üzere:
label, has_label, _ = text.partition(':')
.
- İmzanın sabitlendiği bir işlev tanımının (
def
veya birini kullanarak lambda
) bir parçası olarak (ör. Geri arama veya üst sınıf API ile), ancak bu özel işlev uygulaması, koddaki gibi tüm parametrelere ihtiyaç duymaz:callback = lambda _: True
(Uzun bir süre için bu cevap sadece ilk üç kullanım örneğini listeledi, ancak dördüncü vaka burada belirtildiği gibi açıkça listelenmeye değecek kadar sık ortaya çıktı )
Sonuncu "değişken değişken veya parametre adı", vakaları çeviri arama kullanım durumu ile çakışabilir, bu nedenle _
i18n çevirisi için de kullanan herhangi bir kod bloğunda bir değişken değişken olarak kullanmaktan kaçınmak gerekir (birçok kişi çift alt çizgiyi tercih eder) , __
tam da bu nedenle değişken değişkenleri olarak).