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