Samouczek Pythona

Strona główna Pythona Wprowadzenie do Pythona Wprowadzenie do Pythona Składnia Pythona Komentarze w Pythonie Zmienne w Pythonie Typy danych Pythona Liczby w Pythonie Casting w Pythonie Ciągi Pythona Wartości logiczne w Pythonie Operatory Pythona Listy Pythona Krotki Pythona Zestawy Pythona Słowniki Pythona Python, jeśli... w przeciwnym razie Pętle while Pythona Python dla pętli Funkcje Pythona Python Lambda Tablice Pythona Klasy/obiekty Pythona Dziedziczenie Pythona Iteratory Pythona Zakres Pythona Moduły Pythona Daty Pythona Matematyka w Pythonie Python JSON RegEx w Pythonie PIP w Pythonie Python Wypróbuj... Z wyjątkiem Dane wejściowe użytkownika w Pythonie Formatowanie ciągów w Pythonie

Obsługa plików

Obsługa plików w Pythonie Odczytywanie plików Pythona Zapis/Tworzenie plików w Pythonie Usuń pliki Pythona

Moduły Pythona

Samouczek NumPy Przewodnik po pandzie Samouczek Scipy

Python Matplotlib

Wprowadzenie do biblioteki Matplotlib Matplotlib Rozpocznij Matplotlib Pyplot Matplotlib kreślenie Markery Matplotlib Linia Matplotlib Etykiety Matplotlib Siatka Matplotlib Wykresy podrzędne Matplotlib Rozproszenie Matplotlib Paski Matplotlib Histogramy Matplotlib Wykresy kołowe Matplotlib

Nauczanie maszynowe

Pierwsze kroki Tryb średniej mediany Odchylenie standardowe Percentyl Dystrybucja danych Normalna dystrybucja danych Wykres punktowy Regresja liniowa Regresja wielomianowa Regresja wielokrotna Skala Trenuj/Test Drzewo decyzyjne

Python MySQL

Rozpocznij MySQL Tworzenie bazy danych MySQL Utwórz tabelę MySQL Wstaw MySQL Wybór MySQL MySQL Gdzie Zamów MySQL według Usuń MySQL Tabela upuszczania MySQL Aktualizacja MySQL Limit MySQL Dołącz do MySQL

Python MongoDB

MongoDB Rozpocznij MongoDB Utwórz bazę danych MongoDB Utwórz kolekcję Wstaw MongoDB MongoDB Znajdź Zapytanie MongoDB Sortuj MongoDB Usuń MongoDB MongoDB Drop Collection Aktualizacja MongoDB Limit MongoDB

Odniesienie do Pythona

Przegląd Pythona Wbudowane funkcje Pythona Metody ciągów Pythona Metody listy Pythona Metody słownika Pythona Metody krotek w Pythonie Metody zestawów Pythona Metody plików Pythona Słowa kluczowe w Pythonie Wyjątki Pythona Słownik Pythona

Odniesienie do modułu

Moduł losowy Moduł żądań Moduł statystyk Moduł matematyczny Moduł cMath

Instrukcje Pythona

Usuń duplikaty listy Odwróć ciąg Dodaj dwie liczby

Przykłady Pythona

Przykłady Pythona Kompilator Pythona Ćwiczenia z Pythona Quiz Pythona Certyfikat Pythona

Dziedziczenie Pythona


Dziedziczenie Pythona

Dziedziczenie pozwala nam zdefiniować klasę, która dziedziczy wszystkie metody i właściwości z innej klasy.

Klasa nadrzędna to klasa, z której dziedziczymy, nazywana również klasą bazową.

Klasa potomna to klasa, która dziedziczy z innej klasy, zwanej również klasą pochodną.


Utwórz klasę rodzicielską

Każda klasa może być klasą nadrzędną, więc składnia jest taka sama jak przy tworzeniu dowolnej innej klasy:

Przykład

Utwórz klasę o nazwie Person, with firstnamei lastnameproperties oraz printnamemetodę:

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()

Utwórz klasę podrzędną

Aby stworzyć klasę, która dziedziczy funkcjonalność z innej klasy, wyślij klasę nadrzędną jako parametr podczas tworzenia klasy potomnej:

Przykład

Utwórz klasę o nazwie Student, która odziedziczy właściwości i metody z Personklasy:

class Student(Person):
  pass

Uwaga: Użyj pass słowa kluczowego, jeśli nie chcesz dodawać do klasy żadnych innych właściwości ani metod.

Teraz klasa Student ma te same właściwości i metody, co klasa Person.

Przykład

Użyj Studentklasy, aby utworzyć obiekt, a następnie wykonaj printnamemetodę:

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


Dodaj funkcję __init__()

Do tej pory stworzyliśmy klasę potomną, która dziedziczy właściwości i metody od swojego rodzica.

Chcemy dodać __init__()funkcję do klasy potomnej (zamiast passsłowa kluczowego).

Uwaga: Funkcja __init__()jest wywoływana automatycznie za każdym razem, gdy klasa jest używana do tworzenia nowego obiektu.

Przykład

Dodaj __init__()funkcję do Studentklasy:

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

Po dodaniu __init__()funkcji klasa potomna nie będzie już dziedziczyć funkcji rodzica __init__().

Uwaga:__init__() Funkcja dziecka zastępuje dziedziczenie funkcji rodzica __init__().

Aby zachować dziedziczenie funkcji rodzica __init__() , dodaj wywołanie funkcji rodzica __init__():

Przykład

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

Teraz pomyślnie dodaliśmy funkcję __init__(), zachowaliśmy dziedziczenie klasy nadrzędnej i jesteśmy gotowi do dodania funkcji w tej __init__()funkcji.


Użyj funkcji super()

Python posiada również super()funkcję, która sprawi, że klasa potomna odziedziczy wszystkie metody i właściwości od swojego rodzica:

Przykład

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

Korzystając z super()funkcji, nie musisz używać nazwy elementu rodzica, automatycznie odziedziczy on metody i właściwości po swoim rodzicu.


Dodaj właściwości

Przykład

Dodaj właściwość wywoływaną graduationyeardo Studentklasy:

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

W poniższym przykładzie rok 2019powinien być zmienną i przekazywany do Studentklasy podczas tworzenia obiektów studenckich. Aby to zrobić, dodaj kolejny parametr w funkcji __init__():

Przykład

Dodaj yearparametr i podaj poprawny rok podczas tworzenia obiektów:

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

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

Dodaj metody

Przykład

Dodaj metodę wywoływaną welcomedo Studentklasy:

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)

Jeśli dodasz metodę w klasie podrzędnej o tej samej nazwie co funkcja w klasie nadrzędnej, dziedziczenie metody nadrzędnej zostanie nadpisane.


Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Jaka jest poprawna składnia, aby utworzyć klasę o nazwie Student, która będzie dziedziczyć właściwości i metody z klasy o nazwie Osoba?

class :