PEP8 এবং পাইথন সম্প্রদায়ের আদর্শ ব্যবহার করা ALL_CAPS_CONSTANTS
। এটি সি, জাভা, পার্ল, পিএইচপি, পাইথন, ব্যাশ এবং অন্যান্য প্রোগ্রামিং ভাষা এবং শেল পরিবেশে দশকের জন্য ব্যবহৃত একটি সাধারণ ভিজ্যুয়াল ক্লু। তবে আধুনিক অনলাইন পার্লেন্সে , সমস্ত ক্যাপগুলি স্বাক্ষর করে । আর চিৎকার করা অভদ্র।
পাইথন তবে এটি সম্পর্কে অসঙ্গত ALL_CAPS_CONSTANTS
। জাভাস্ক্রিপ্ট থাকতে পারে Math.PI
, কিন্তু পাইথন আছে math.pi
। Than এর চেয়ে বেশি কোনও স্বীকৃত বা স্থায়ী ধ্রুবক নেই π বা বিবেচনা করুন sys.version_info
, আপনি যে পাইথনের সংস্করণটি চালাচ্ছেন তা বিবেচনা করুন। আপনার প্রোগ্রাম জীবনের উপর 100% ধ্রুবক - অনেক বেশী চেয়ে PORT
বাMAX_ITERATIONS
বা অন্যান্য ধ্রুবক আপনি সংজ্ঞায়িত চাই। বা কেমন sys.maxsize
? আপনার প্ল্যাটফর্মের সর্বাধিক নেটিভ পূর্ণসংখ্যার মানটি কেবল এক বা দুটি প্রোগ্রাম চালানো নয়, তবে আপনার হার্ডওয়ারের জীবন থেকেও স্থির।
যদি এই ধ্রুবকগুলি - যেমন some এবং ই সমেত কিছু মহাবিশ্বের মৌলিক ধ্রুবক এবং সমস্ত অনন্তকাল থেকে পৃথক হবে না - সেগুলি নিম্ন-কেস হতে পারে ভাল ... তাই অন্য ধ্রুবকগুলিও হতে পারে। তুমি পছন্দ করতে পারো.
মনে রাখবেন, পিইপি 8 একটি স্টাইল গাইড। একটি গাইডলাইন, আইন নয়। পাইথনের স্ট্যান্ডার্ড লাইব্রেরি দ্বারা প্রায়শই একটি নির্দেশিকা লঙ্ঘন করে। আর একটি মূল পাইথন গাইডলাইন, PEP20 উদ্ধৃত করে (ওরফে "পাইথনের জেন") :
- কদর্য চেয়ে সুন্দর
- পঠনযোগ্যতা গণনা
- ব্যবহারিকতা বিশুদ্ধতা বীট।
একটি ব্যবহারিক নোটে, যখন কোনও প্রোগ্রাম থাকে YELLY_CONSTANT
এবং SHOUTY_PARAMETER
কষতে শুরু করে, এটি মনে রাখতে সাহায্য করে যে অল-ক্যাপ ধ্রুবকগুলি সাধারণত প্লেটোনিক আদর্শগুলি স্থায়ী হয় না , তবে একটি প্রোগ্রাম চালনার পরামিতি। সম্পর্কে সত্যিই ধ্রুবক কিছুই নেই PORT
, SITENAME
অথবা NUMRUNS
, এবং তারা স্বতন্ত্র প্রোগ্রাম globals যেমন পরিচালিত হতে হবে না। উদাহরণস্বরূপ, এগুলি প্রোগ্রামের পরামিতিগুলির বিশ্বব্যাপী অ্যাক্সেসযোগ্য বান্ডিল হিসাবে অভিধানে ফেলে দেওয়া যেতে পারে:
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")
অনুশীলনে, কন্ট্রোল নীতি / প্যাটার্নের বিপরীততাকে সন্তুষ্ট করার জন্য কনফিগার ফাইল, ওএস এনভায়রনমেন্ট ভেরিয়েবল, কমান্ড লাইন আর্গুমেন্ট বা অন্যান্য উত্স থেকে এই মানগুলির অনেকগুলি (বা হওয়া উচিত) read তবে এটি অন্য দিনের জন্য বৃহত্তর গল্প।