ฉันค่อนข้างอายเมื่อมีคนเรียกนกแก้ว "Zen of Python" ราวกับว่ามันเป็นข้ออ้างสำหรับทุกสิ่ง มันเป็นปรัชญาการออกแบบ ตัดสินใจในการออกแบบโดยเฉพาะอย่างยิ่งสามารถเสมอได้รับการอธิบายในแง่เฉพาะเจาะจงมากขึ้น - และพวกเขาจะต้องเป็นหรืออื่น ๆ ว่า "เซนของงูใหญ่" กลายเป็นข้อแก้ตัวสำหรับการทำอะไร
เหตุผลง่าย: คุณไม่จำเป็นต้องสร้างคลาสที่ได้มาในลักษณะที่คล้ายกันกับวิธีที่คุณสร้างคลาสพื้นฐาน คุณอาจมีพารามิเตอร์มากขึ้นน้อยลงพวกเขาอาจอยู่ในลำดับที่แตกต่างกันหรือไม่เกี่ยวข้องเลย
class myFile(object):
def __init__(self, filename, mode):
self.f = open(filename, mode)
class readFile(myFile):
def __init__(self, filename):
super(readFile, self).__init__(filename, "r")
class tempFile(myFile):
def __init__(self, mode):
super(tempFile, self).__init__("/tmp/file", mode)
class wordsFile(myFile):
def __init__(self, language):
super(wordsFile, self).__init__("/usr/share/dict/%s" % language, "r")
__init__
นี้นำไปใช้วิธีการที่ได้มาทั้งหมดไม่เพียง
__init__
เมธอดและอาจค้นหาคลาสย่อยและตกแต่งโดยอัตโนมัติ