PEP8 และ Python ALL_CAPS_CONSTANTS
บรรทัดฐานชุมชนคือการใช้งาน มันเป็นเงื่อนงำภาพทั่วไปที่ใช้มานานหลายทศวรรษใน C, Java, Perl, PHP, Python, ทุบตีและภาษาการเขียนโปรแกรมอื่น ๆ และสภาพแวดล้อมของเชลล์ แต่ในสำนวนออนไลน์ที่ทันสมัยALL CAPS หมายตะโกน และตะโกนหยาบคาย
ALL_CAPS_CONSTANTS
งูหลามเป็นอย่างไรค่อนข้างสอดคล้องกันเกี่ยวกับ JavaScript อาจจะมีแต่งูใหญ่มีMath.PI
math.pi
ไม่มีค่าคงตัวที่เป็นที่รู้จักหรือยืนยาวกว่าπ หรือลองพิจารณาsys.version_info
เวอร์ชั่นของ Python ที่คุณใช้งานอยู่ ค่าคงที่ 100% ตลอดอายุการใช้งานโปรแกรมของคุณ - มากกว่าPORT
หรือMAX_ITERATIONS
ค่าคงที่อื่นที่คุณกำหนด หรือวิธีการเกี่ยวsys.maxsize
? ค่าจำนวนเต็มสูงสุดในแพลตฟอร์มของคุณคงที่ไม่เพียงแค่โปรแกรมหนึ่งหรือสองทำงาน แต่อายุการใช้งานของฮาร์ดแวร์ของคุณ
หากค่าคงที่เหล่านี้ - รวมทั้งค่า like และ e ที่เป็นค่าคงที่พื้นฐานของจักรวาลและจะไม่แตกต่างกันไปชั่วนิรันดร์ - ถ้าพวกมันสามารถเป็นตัวพิมพ์เล็กได้ดี ... ดังนั้นค่าคงที่อื่น ๆ คุณสามารถเลือก.
โปรดจำไว้ว่าPEP8เป็นคู่มือสไตล์ แนวทางไม่ใช่กฎหมาย แนวปฏิบัติมักฝ่าฝืนแม้กระทั่งห้องสมุดมาตรฐานของไพ ธ อน และอ้างถึงแนวทางหลัก Python อื่นPEP20 (หรือที่รู้จักว่า "The Zen of Python"):
- สวยดีกว่าน่าเกลียด
- จำนวนการอ่าน
- การปฏิบัติจริงชนะความบริสุทธิ์
ในบันทึกที่ใช้งานได้จริงเมื่อโปรแกรมYELLY_CONSTANT
และSHOUTY_PARAMETER
เริ่มเสียดสีมันช่วยให้จำได้ว่าค่าคงที่ของตัวพิมพ์ใหญ่โดยทั่วไปจะไม่ทนต่ออุดมคติของ Plonicอย่างแท้จริงแต่เป็นพารามิเตอร์ของโปรแกรมที่เรียกใช้ ไม่มีอะไรที่แท้จริงอย่างต่อเนื่องเกี่ยวกับการเป็นPORT
, SITENAME
หรือNUMRUNS
และพวกเขาไม่จำเป็นต้องได้รับการจัดการเป็น Globals โปรแกรมแบบสแตนด์อโลน ตัวอย่างเช่นพวกเขาสามารถวางลงในพจนานุกรมเป็นกลุ่มของพารามิเตอร์โปรแกรมที่เข้าถึงได้ทั่วโลก:
config = {
'port': 80,
'sitename': "Bubba's Blog",
'numruns': 100,
}
Python มีพารามิเตอร์คีย์เวิร์ดการส่งผ่านสิ่งอำนวยความสะดวกที่ช่วยลดความจำเป็นในการใช้APPARENTLY_ANGRY_GLOBAL_VARIABLES
:
def process_data(sitename, port=80, numruns=100):
...
process_data("Bubba's Blog")
ในทางปฏิบัติค่าเหล่านี้จำนวนมากจะอ่าน (หรือควร) จากไฟล์ปรับแต่งตัวแปรสภาพแวดล้อมระบบปฏิบัติการอาร์กิวเมนต์บรรทัดคำสั่งหรือแหล่งข้อมูลอื่น ๆ เพื่อตอบสนองการผกผันของหลักการ / รูปแบบการควบคุม แต่นั่นเป็นเรื่องราวที่ใหญ่กว่าสำหรับอีกวัน