15
Python super () ทำงานอย่างไรกับหลายมรดก
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเชิงวัตถุของ Python และฉันมีปัญหาในการเข้าใจsuper()ฟังก์ชั่น (คลาสสไตล์ใหม่) โดยเฉพาะอย่างยิ่งเมื่อพูดถึงการสืบทอดหลาย ๆ อย่าง ตัวอย่างเช่นถ้าคุณมีสิ่งที่ชอบ: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" สิ่งที่ฉันไม่ได้รับคือ: Third()ชั้นเรียนจะสืบทอดทั้งตัวสร้างวิธีการหรือไม่ ถ้าใช่แล้วจะใช้อันไหนกับ super () และทำไมล่ะ และถ้าคุณต้องการเรียกใช้อีกอันหนึ่ง ฉันรู้ว่ามันมีบางอย่างเกี่ยวกับการสั่งซื้อการแก้ไขวิธี Python ( MRO )