_
memiliki 4 penggunaan konvensional utama dalam Python:
- Untuk menahan hasil dari ekspresi (/ pernyataan) yang terakhir dieksekusi dalam sesi juru bahasa interaktif. Preseden ini ditetapkan oleh juru bahasa CPython standar, dan penerjemah lain mengikuti
- Untuk pencarian terjemahan di i18n (lihat
dokumentasi gettext misalnya), seperti dalam kode seperti:
raise forms.ValidationError(_("Please enter a correct username"))
- Sebagai tujuan umum "sekali pakai" nama variabel untuk menunjukkan bahwa bagian dari hasil fungsi sedang sengaja diabaikan (konseptual, itu sedang dibuang.), Seperti dalam kode seperti:
label, has_label, _ = text.partition(':')
.
- Sebagai bagian dari definisi fungsi (menggunakan salah satu
def
atau lambda
), di mana tanda tangan diperbaiki (mis. Dengan callback atau API kelas induk), tetapi implementasi fungsi khusus ini tidak memerlukan semua parameter, seperti dalam kode seperti:callback = lambda _: True
(Untuk waktu yang lama jawaban ini hanya mencantumkan tiga kasus penggunaan pertama, tetapi kasus keempat cukup sering muncul, seperti yang disebutkan di sini , layak dicantumkan secara eksplisit)
"Variabel variabel atau nama parameter" yang terakhir menggunakan kasus dapat bertentangan dengan kasus penggunaan pencarian terjemahan, jadi perlu untuk menghindari menggunakan _
sebagai variabel sekali pakai dalam blok kode apa pun yang juga menggunakannya untuk terjemahan i18n (banyak orang lebih suka garis bawah dua kali lipat) ,, __
sebagai variabel sekali pakai mereka untuk alasan ini).