Esercitazione Python

Python HOME Introduzione di Python Python per iniziare Sintassi Python Commenti Python Variabili Python Tipi di dati Python Numeri Python Fusione in pitone Stringhe Python Python booleani Operatori Python Elenchi Python Tuple di Python Insiemi Python Dizionari Python Python Se... Altro Python While Loops Python per loop Funzioni Python Python Lambda Matrici Python Classi/oggetti Python Ereditarietà Python Iteratori Python Ambito Python Moduli Python Date Python Python matematica Python JSON Python RegEx PIP Python Python Prova... Tranne Input utente Python Formattazione di stringhe Python

Gestione dei file

Gestione dei file Python File di lettura Python Python Scrivi/Crea file Python Elimina file

Moduli Python

Tutorial NumPy Guida dettagliata di Panda Tutorial Scipy

Python Matplotlib

Introduzione a Matplotlib Matplotlib Inizia Plottaggio Matplotlib Tracciatura Matplotlib Marcatori Matplotlib Linea Matplotlib Etichette Matplotlib Griglia Matplotlib Sottotrame Matplotlib Dispersione Matplotlib Barre Matplotlib Istogrammi Matplotlib Grafici a torta Matplotlib

Apprendimento automatico

Iniziare Modalità mediana media Deviazione standard percentile Distribuzione dei dati Distribuzione normale dei dati Trama a dispersione Regressione lineare Regressione polinomiale Regressione multipla Scala Treno/prova Albero decisionale

Python MySQL

MySQL per iniziare MySQL crea database MySQL Crea tabella Inserimento MySQL MySQL Seleziona MySQL dove MySQL Ordina per Elimina MySQL MySQL Drop Table Aggiornamento MySQL Limite MySQL Unisciti a MySQL

Python MongoDB

MongoDB Inizia MongoDB Crea database MongoDB Crea raccolta Inserisci MongoDB MongoDB Trova Interrogazione MongoDB Ordinamento MongoDB Elimina MongoDB Collezione Drop MongoDB Aggiornamento MongoDB Limite MongoDB

Riferimento Python

Panoramica di Python Funzioni integrate in Python Metodi di stringa Python Metodi dell'elenco Python Metodi del dizionario Python Metodi della tupla Python Metodi di impostazione Python Metodi di file Python Parole chiave Python Eccezioni Python Glossario Python

Riferimento del modulo

Modulo casuale Modulo Richieste Modulo Statistiche Modulo di matematica Modulo cMath

Python come fare per

Rimuovi i duplicati dell'elenco Invertire una stringa Aggiungi due numeri

Esempi Python

Esempi Python Compilatore Python Esercizi di Python Python Quiz Certificato Python

Ereditarietà Python


Ereditarietà Python

L'ereditarietà ci consente di definire una classe che eredita tutti i metodi e le proprietà da un'altra classe.

La classe padre è la classe da cui viene ereditata, chiamata anche classe base.

La classe figlia è la classe che eredita da un'altra classe, detta anche classe derivata.


Crea una classe genitore

Qualsiasi classe può essere una classe genitore, quindi la sintassi è la stessa della creazione di qualsiasi altra classe:

Esempio

Crea una classe denominata Person, con firstnamee lastnameproprietà e un printnamemetodo:

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

Crea una classe figlio

Per creare una classe che erediti la funzionalità da un'altra classe, invia la classe genitore come parametro durante la creazione della classe figlia:

Esempio

Crea una classe denominata Student, che erediterà le proprietà e i metodi dalla Personclasse:

class Student(Person):
  pass

Nota: utilizzare la pass parola chiave quando non si desidera aggiungere altre proprietà o metodi alla classe.

Ora la classe Student ha le stesse proprietà e metodi della classe Person.

Esempio

Usa la Studentclasse per creare un oggetto, quindi esegui il printnamemetodo:

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


Aggiungi la funzione __init__()

Finora abbiamo creato una classe figlia che eredita le proprietà e i metodi dal suo genitore.

Vogliamo aggiungere la __init__()funzione alla classe figlio (invece della passparola chiave).

Nota: la __init__()funzione viene chiamata automaticamente ogni volta che la classe viene utilizzata per creare un nuovo oggetto.

Esempio

Aggiungi la __init__()funzione alla Studentclasse:

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

Quando aggiungi la __init__()funzione, la classe figlia non erediterà più la __init__()funzione del genitore.

Nota:__init__() la funzione del figlio ha la precedenza sull'ereditarietà della __init__()funzione del genitore.

Per mantenere l'ereditarietà della __init__() funzione padre, aggiungi una chiamata alla __init__()funzione padre:

Esempio

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

Ora abbiamo aggiunto con successo la funzione __init__() e mantenuto l'ereditarietà della classe genitore, e siamo pronti per aggiungere funzionalità nella __init__()funzione.


Usa la funzione super()

Python ha anche una super()funzione che farà ereditare alla classe figlia tutti i metodi e le proprietà dal suo genitore:

Esempio

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

Utilizzando la super()funzione, non è necessario utilizzare il nome dell'elemento genitore, erediterà automaticamente i metodi e le proprietà dal suo genitore.


Aggiungi proprietà

Esempio

Aggiungi una proprietà chiamata graduationyearalla Studentclasse:

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

Nell'esempio seguente, l'anno 2019dovrebbe essere una variabile e trasmesso alla Studentclasse durante la creazione degli oggetti studente. Per farlo, aggiungi un altro parametro nella funzione __init__():

Esempio

Aggiungi un yearparametro e passa l'anno corretto durante la creazione di oggetti:

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

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

Aggiungi metodi

Esempio

Aggiungi un metodo chiamato welcomealla Studentclasse:

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)

Se si aggiunge un metodo nella classe figlio con lo stesso nome di una funzione nella classe padre, l'ereditarietà del metodo padre verrà sovrascritta.


Mettiti alla prova con gli esercizi

Esercizio:

Qual è la sintassi corretta per creare una classe denominata Student che erediterà proprietà e metodi da una classe denominata Person?

class :