PEP8 और पायथन समुदाय मानदंड का उपयोग करना है ALL_CAPS_CONSTANTS
। यह एक सामान्य दृश्य सुराग है, जिसका उपयोग सी, जावा, पर्ल, पीएचपी, पायथन, बैश और अन्य प्रोग्रामिंग भाषाओं और शेल वातावरणों में दशकों से किया जाता है। लेकिन आधुनिक ऑनलाइन पार्लियामेंट में , सभी कैपसाइनिंग शाइटिंग । और चिल्लाना असभ्य है।
हालांकि, अजगर इसके बारे में असंगत है ALL_CAPS_CONSTANTS
। जावास्क्रिप्ट हो सकता है Math.PI
, लेकिन पायथन के पास है math.pi
। There's की तुलना में कोई अधिक पहचानने योग्य या स्थायी नहीं है। या विचार करें sys.version_info
, आप जिस पायथन का संस्करण चला रहे हैं। अपने कार्यक्रम के जीवन पर 100% निरंतर - दूर से अधिक PORT
या MAX_ITERATIONS
या अन्य स्थिरांक आपके द्वारा निर्धारित होगी। या कैसे sys.maxsize
? आपके प्लेटफ़ॉर्म का अधिकतम मूल पूर्णांक मान न केवल एक या दो प्रोग्राम चलाता है, बल्कि आपके हार्डवेयर का जीवन है।
यदि ये स्थिरांक - जैसे कि const और e जैसे कि ब्रह्मांड के मूलभूत स्थिरांक हैं, और सभी अनंत काल में अलग-अलग नहीं होंगे - यदि वे निम्न-मामले हो सकते हैं, तो ठीक है ... इसलिए अन्य स्थिरांक हो सकते हैं। आप चुन सकते हैं।
याद रखें, PEP8 एक स्टाइल गाइड है। एक दिशानिर्देश, एक कानून नहीं है। एक दिशानिर्देश अक्सर पायथन के मानक पुस्तकालय द्वारा भी नियंत्रित किया जाता है। और एक अन्य मूल पायथन दिशानिर्देश का हवाला देते हुए, PEP20 (उर्फ "द ज़ेन ऑफ़ पायथन"):
- सुंदर बदसूरत से बेहतर है
- पठनीयता मायने रखती है
- व्यावहारिकता शुद्धता को हरा देती है।
एक व्यावहारिक नोट पर, जब कोई प्रोग्राम होता है YELLY_CONSTANT
और SHOUTY_PARAMETER
उसे टटोलना शुरू होता है, तो यह याद रखने में मदद मिलती है कि ऑल-कैप स्थिरांक आमतौर पर प्लेटोनिक आदर्शों को सहन नहीं कर रहे हैं , लेकिन एक प्रोग्राम के पैरामीटर चलते हैं। के बारे में सही मायने में लगातार कुछ भी नहीं है PORT
, SITENAME
या NUMRUNS
, और वे स्टैंडअलोन कार्यक्रम वैश्विक रूप से प्रबंधित किया जा करने के लिए नहीं है। उदाहरण के लिए, उन्हें प्रोग्राम मापदंडों के विश्व स्तर पर सुलभ बंडल के रूप में एक शब्दकोश में गिराया जा सकता है:
config = {
'port': 80,
'sitename': "Bubba's Blog",
'numruns': 100,
}
पायथन में एक अच्छा कीवर्ड पैरामीटर पासिंग सुविधा है जो उपयोग करने की आवश्यकता को कम करता है APPARENTLY_ANGRY_GLOBAL_VARIABLES
:
def process_data(sitename, port=80, numruns=100):
...
process_data("Bubba's Blog")
व्यवहार में, इनमे से कई मान कंट्रोल फाइल / पैटर्न के व्युत्क्रम को संतुष्ट करने के लिए कॉन्फिग फाइल्स, OS एनवायरनमेंट वैरिएबल्स, कमांड लाइन आर्ग्युमेंट्स, या अन्य स्त्रोतों से पढ़े जाएंगे । लेकिन यह एक और दिन के लिए एक बड़ी कहानी है।