_
पायथन में 4 मुख्य पारंपरिक उपयोग हैं:
- एक इंटरैक्टिव दुभाषिया सत्र में अंतिम निष्पादित अभिव्यक्ति (/ बयान) के परिणाम को धारण करने के लिए। यह मिसाल मानक CPython दुभाषिया द्वारा निर्धारित की गई थी, और अन्य दुभाषियों ने सूट का पालन किया है
- I18n में अनुवाद देखने के लिए (
उदाहरण के लिए गेटेक्ट प्रलेखन देखें
), जैसे कोड में:
raise forms.ValidationError(_("Please enter a correct username"))
- एक सामान्य उद्देश्य के रूप में "थ्रोअवे" वैरिएबल नाम यह इंगित करने के लिए कि फ़ंक्शन परिणाम के भाग को जानबूझकर अनदेखा किया जा रहा है (वैचारिक रूप से, इसे खारिज किया जा रहा है।), जैसे कोड में
label, has_label, _ = text.partition(':')
:।
- एक समारोह परिभाषा के भाग के रूप (या तो का उपयोग कर
def
या lambda
), जहां हस्ताक्षर तय हो गई है (उदाहरण के द्वारा एक कॉलबैक या अभिभावक वर्ग एपीआई), लेकिन इस विशेष समारोह कार्यान्वयन, मानकों के सभी की जरूरत नहीं है की तरह कोड के रूप में:callback = lambda _: True
(लंबे समय तक इस उत्तर ने केवल पहले तीन उपयोग मामलों को सूचीबद्ध किया, लेकिन चौथा मामला अक्सर पर्याप्त था, जैसा कि यहां स्पष्ट रूप से सूचीबद्ध करने के लिए पर्याप्त है )
उत्तरार्द्ध "थ्रोअवे वैरिएबल या पैरामीटर नाम" का उपयोग करता है, केस ट्रांसलेशन लुकअप केस के साथ संघर्ष कर सकते हैं, इसलिए _
किसी भी कोड ब्लॉक में थ्रोअवे वैरिएबल के रूप में उपयोग करने से बचना आवश्यक है जो इसे i18n अनुवाद के लिए भी उपयोग करता है (कई लोग एक डबल-अंडरस्कोर पसंद करते हैं , __
बिल्कुल इस कारण के लिए उनके फेंकने के चर के रूप में)।