2015-11-05 13 views
5

क्या Python में नियमित अभिव्यक्तियों के लिए एक स्वीकृत नामकरण सम्मेलन है? या यदि नहीं है, तो उन्हें नाम देने के बारे में कुछ सुझाव क्या हैं? आम तौर पर मैं उन्हें look_for_date या address_re जैसे कुछ नाम देता हूं लेकिन मैंने कई स्थानों को पढ़ा है जो चरम नाम में '_re' जैसे प्रत्यय का उपयोग करना अच्छा नहीं है। मेरे लिए यह लगता है regex की तरह, यह एक regex है इंगित करने के लिए के बाद से यदि आप इसे नामित सिर्फ date या address, आप इस तरह सामान है, जो सहज लगता है ऐसा करने में सक्षम हो जाएगा कुछ की जरूरत है:पाइथन नियमित अभिव्यक्तियों के लिए नामकरण सम्मेलन?

date = date_re.match(text)

उत्तर

5

संकलित नियमित अभिव्यक्ति स्थिरांक हैं, इसलिए UPPERCASE_WITH_UNDESCORES नाम होना चाहिए। मैं उनको नाम दूंगा जो वे मेल खाते हैं; कुछ कोड से एक उदाहरण देने के लिए हाल ही में मैंने लिखा था:

import re 

VALID_CLOSURE_PATTERN = re.compile(r''' 
    ^\d{2} # starts with two digits 0-9 
    [NY]{4}$ # followed by four Y/N characters 
''', re.IGNORECASE + re.VERBOSE) 


class RoadClosure(object): 

    def __init__(self, ..., closure_pattern): 
     """Initialise the new instance.""" 
     if not VALID_CLOSURE_PATTERN.match(closure_pattern): 
      raise ValueError('invalid closure pattern: {!r}'.format(closure_pattern)) 
     ... 

... 

मुझे लगता है कि यह यह बहुत स्पष्ट है क्या हो रहा है बनाता है, VALID_CLOSURE_PATTERN संचार "इस का वर्णन करता है कि हम क्या एक वैध बंद पैटर्न होने के लिए विचार किया जाएगा" और एक लाइन जैसे:

if not VALID_CLOSURE_PATTERN.match(closure_pattern): 

बताता है कि यह वास्तव में सादे अंग्रेजी के करीब क्या कर रहा है। तो आपके मामले में, आप लिख सकते हैं:

date = VALID_DATE.match(text) 
+1

कूल, मुझे ऊपरी मामले की चीज़ के बारे में भी पूछना था। जवाब के लिए धन्यवाद। तो ये दिशानिर्देश हैं और पीईपी देवताओं द्वारा पत्थर में नक्काशीदार नहीं हैं? – nonex

संबंधित मुद्दे