Dziedziczenie

Możliwość dziedziczenia z klas jest fundamentem programowania zorientowanego obiektowo. Język Python oferuje mechanizm dziedziczenia pojedynczego i wielokrotnego. W przypadku dziedziczenia pojedynczego może istnieć tylko jedna nadklasa. W przypadku dziedziczenia wielokrotnego może istnieć więcej niż jedna nadklasa.

Dziedziczenie implementuje się, tworząc podklasy innych klas. Dowolna liczba klas języka Python może być nadklasami. Jednak w implementacji Jython możliwe jest bezpośrednie lub pośrednie dziedziczenie tylko z jednej klasy języka Java. Nie jest wymagane określenie nadklasy.

Podklasa lub klient może używać dowolnych nieukrytych atrybutów i metod z nadklasy. Wszędzie tam, gdzie można użyć instancji nadklasy, można także użyć instancji podklasy; jest to przykład polimorfizmu. Mechanizmy te umożliwiają wielokrotne wykorzystanie tego samego kodu i ułatwiają rozbudowę oprogramowania.

Przykład

class Class1: pass    #bez dziedziczenia

class Class2: pass

class Class3(Class1): pass     #jednokrotne dziedziczenie

class Class4(Class3, Class2): pass     #wielokrotne dziedziczenie