Výukový program Python

Python HOME Úvod do Pythonu Začínáme s Pythonem Syntaxe Pythonu Komentáře Pythonu Proměnné Pythonu Datové typy Pythonu Python čísla Python Casting Python řetězce Python Booleans Operátoři Pythonu Seznamy Pythonu Python n-tice Sady Pythonu Slovníky Pythonu Python If...Else Python While Loops Python pro smyčky Funkce Pythonu Python Lambda Pole Python Třídy/objekty Pythonu Dědičnost Pythonu Iterátory Pythonu Rozsah Pythonu Moduly Pythonu Data v Pythonu Matematika Pythonu Python JSON Python RegEx Python PIP Zkuste Python... Kromě Vstup uživatele Pythonu Formátování řetězců v Pythonu

Manipulace se soubory

Práce se soubory Python Soubory pro čtení Pythonu Python Zápis/Vytváření souborů Python mazat soubory

Moduly Pythonu

Výukový program NumPy Návod Panda Výukový program Scipy

Python Matplotlib

Úvod do Matplotlib Matplotlib Začínáme Matplotlib Pyplot Vykreslování Matplotlib Markery Matplotlib Linka Matplotlib Štítky Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Bary Matplotlib Histogramy Matplotlib Koláčové grafy Matplotlib

Strojové učení

Začínáme Střední střední režim Standardní odchylka Percentil Distribuce dat Normální distribuce dat Bodový diagram Lineární regrese Polynomiální regrese Vícenásobná regrese Měřítko Vlak/test Rozhodovací strom

Python MySQL

MySQL Začínáme Vytvořit databázi MySQL Vytvořit tabulku MySQL Vložit MySQL Vyberte MySQL Kde MySQL Pořadí MySQL podle Smazat MySQL MySQL Drop Table Aktualizace MySQL Limit MySQL Připojte se k MySQL

Python MongoDB

MongoDB Začněte Vytvořit databázi MongoDB Vytvořit sbírku MongoDB Vložení MongoDB Najít MongoDB Dotaz MongoDB Řazení MongoDB Smazat MongoDB MongoDB Drop Collection Aktualizace MongoDB Limit MongoDB

Reference Pythonu

Přehled Pythonu Vestavěné funkce Pythonu Metody pythonských řetězců Metody seznamu v Pythonu Metody slovníku Python Metody Python Tuple Metody sady Python Metody souborů Python Klíčová slova Pythonu Výjimky v Pythonu Slovník Pythonu

Reference modulu

Náhodný modul Modul požadavků Modul statistiky Matematický modul cMath modul

Jak na to Python

Odebrat duplikáty seznamu Obrátit řetězec Přidejte dvě čísla

Příklady Pythonu

Příklady Pythonu Kompilátor Pythonu Cvičení Python Pythonský kvíz Python certifikát

Dědičnost Pythonu


Dědičnost Pythonu

Dědičnost nám umožňuje definovat třídu, která zdědí všechny metody a vlastnosti z jiné třídy.

Nadřazená třída je třída, ze které se dědí, nazývaná také základní třída.

Podřízená třída je třída, která dědí z jiné třídy, nazývaná také odvozená třída.


Vytvořte nadřazenou třídu

Každá třída může být rodičovskou třídou, takže syntaxe je stejná jako při vytváření jakékoli jiné třídy:

Příklad

Vytvořte třídu s názvem Person, s vlastnostmi a a firstnamemetodu :lastnameprintname

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

Vytvořte podřízenou třídu

Chcete-li vytvořit třídu, která zdědí funkce z jiné třídy, odešlete při vytváření podřízené třídy jako parametr nadřazenou třídu:

Příklad

Vytvořte třídu s názvem Student, která zdědí vlastnosti a metody ze Persontřídy:

class Student(Person):
  pass

Poznámka: Klíčové slovo použijte, pass pokud nechcete do třídy přidávat žádné další vlastnosti nebo metody.

Nyní má třída Student stejné vlastnosti a metody jako třída Osoba.

Příklad

Použijte Studenttřídu k vytvoření objektu a poté spusťte printnamemetodu:

x = Student("Mike", "Olsen")
x.printname()


Přidejte funkci __init__()

Zatím jsme vytvořili podřízenou třídu, která dědí vlastnosti a metody od svého rodiče.

Chceme přidat __init__()funkci do podřízené třídy (místo passklíčového slova).

Poznámka: Funkce __init__()je volána automaticky pokaždé, když je třída použita k vytvoření nového objektu.

Příklad

Přidejte __init__()funkci do Studenttřídy:

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

Když přidáte __init__()funkci, podřízená třída již nebude dědit rodičovskou __init__()funkci.

Poznámka:__init__() Funkce potomka přepíše dědění funkce rodiče __init__().

Chcete-li zachovat dědičnost funkce rodiče __init__() , přidejte volání funkce rodiče __init__():

Příklad

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

Nyní jsme úspěšně přidali funkci __init__() a zachovali jsme dědičnost nadřazené třídy a jsme připraveni přidat funkcionalitu do __init__()funkce.


Použijte funkci super().

Python má také super()funkci, díky které podřízená třída zdědí všechny metody a vlastnosti od svého rodiče:

Příklad

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

Při použití super()funkce nemusíte používat název nadřazeného prvku, ten automaticky zdědí metody a vlastnosti od svého rodiče.


Přidat vlastnosti

Příklad

Přidejte vlastnost volanou graduationyeardo Studenttřídy:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

V níže uvedeném příkladu 2019by měl být rok proměnnou a předán Studenttřídě při vytváření objektů studentů. Chcete-li tak učinit, přidejte do funkce __init__() další parametr:

Příklad

Přidejte yearparametr a při vytváření objektů zadejte správný rok:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

Přidat metody

Příklad

Přidejte metodu volanou welcomedo Studenttřídy:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

Pokud přidáte metodu do podřízené třídy se stejným názvem jako funkce v nadřazené třídě, bude přepsána dědičnost nadřazené metody.


Otestujte se pomocí cvičení

Cvičení:

Jaká je správná syntaxe pro vytvoření třídy s názvem Student, která zdědí vlastnosti a metody od třídy s názvem Osoba?

class :