Classi e oggetti Python. Parte 9 Corso Python da principiante ad avanzato in 11 post sul blog
Pubblicato: 2022-01-25Questo articolo aiuterà il lettore a comprendere le classi Python di base insieme ad alcune applicazioni di base nel mondo reale. Utilizzeremo Visual Studio Code come editor di codice. Se non hai installato Visual Studio Code, le istruzioni sono fornite nel primo blog.
Classi e oggetti Python – sommario:
- Classi Python
- Classi Python – definizione
- Inizializzazione di classi Python
- Scriviamo la nostra prima classe Python
- Attributi
- Comportamento della classe
- Oggetti in Python
- Eredità
Classi Python
Come abbiamo discusso nel primo blog, Python è un linguaggio di programmazione orientato agli oggetti. Ci sono tre frasi che sono molto importanti quando si parla di programmazione orientata agli oggetti in Python. Il primo è la classe, il secondo sarebbe un oggetto, il terzo sarebbe l'eredità. Cominciamo da cos'è una classe.
Classi Python – definizione
Una classe è un progetto o un programma estensibile che aiuta nella creazione di oggetti. Una classe è composta da comportamento e stato. Il comportamento di una classe è dimostrato attraverso funzioni all'interno della classe che sono chiamate metodi. Lo stato della classe viene dimostrato utilizzando le variabili all'interno della classe che sono chiamate attributi.
Inizializzazione di classi Python
Una classe può essere inizializzata utilizzando la seguente sintassi.
Una classe in Python viene definita usando la parola chiave "class" dopo il nome della classe. La sintassi di base della funzione Python è illustrata di seguito.
Per esempio:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
Nota: anche il nome della classe ha le stesse norme della dichiarazione della variabile.
Scriviamo la nostra prima classe Python
# first class class Animals: pass
Nel blocco di codice sopra, abbiamo scritto una classe che svilupperemo ulteriormente nel blog. Come puoi vedere, abbiamo utilizzato la parola chiave "classe".
Vediamo ora come aggiungere componenti alla classe dell'animale. Ma prima impariamo a conoscere il costruttore “__init__()”. I costruttori vengono utilizzati per l'istanziazione di oggetti. Qui __init__() viene utilizzato per l'istanziazione di oggetti. Il costruttore può essere predefinito con solo self come argomento o parametrizzato con argomenti richiesti.
Attributi
Esistono due diversi tipi di attributi, i primi sono variabili di classe e i secondi sono variabili di istanza. Le variabili di classe sono le variabili di proprietà della classe. Inoltre, queste variabili sono disponibili per tutte le istanze della classe. Pertanto, il loro valore non cambierà anche se l'istanza cambia.
# class variables class Animals: type=”mammals”
Le variabili di istanza sono le variabili che appartengono alle istanze stesse. Quindi, cambieranno il loro valore quando cambia l'istanza.
# class variables class Animals: def __init__(self,legs): self.legs=legs
Nota: le variabili di istanza non sono disponibili per l'accesso utilizzando il nome della classe, poiché cambiano a seconda dell'oggetto che vi accede.
Creiamo un programma che abbia sia le variabili di classe che di istanza dichiarate.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
Nel programma sopra, abbiamo utilizzato sia variabili di istanza che di classe. Quindi, queste variabili formano gli attributi della classe.
Comportamento della classe
Come discusso, il comportamento della classe è definito dai metodi all'interno della classe. Ma prima di entrare nella discussione sul comportamento, dobbiamo iniziare a discutere del parametro "self", che abbiamo usato in __init__().
Se stesso:
In un termine molto semplice, ogni volta che alleghiamo qualcosa a sé, dice che la variabile o la funzione appartiene a quella classe. Inoltre, con "self", possono accedere gli attributi oi metodi della classe.
Metodi:
I metodi di classe sono funzioni all'interno della classe che avranno il loro primo argomento come "self". Un metodo all'interno della classe viene definito utilizzando la parola chiave "def".
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
Nel metodo sopra “bark”, poiché stiamo usando la variabile name, che è una variabile di istanza, vi accediamo usando “self” e questa funzione stamperebbe “woof woof!!!”, solo se il nome fornito al oggetto, è cane.
Abbiamo discusso la maggior parte dei componenti di una classe, ma potresti pensare a come vedere se la classe funziona. La risposta è che, a meno che non creiamo un oggetto della classe, non saremo in grado di vedere cosa sta facendo la classe. Ora definiamo e creiamo un oggetto della classe.
Oggetti in Python
Un oggetto è un'istanza della classe. Una classe è solo un progetto, ma l'oggetto è un'istanza della classe che ha valori effettivi.
Di seguito è illustrato il codice per definire o creare un oggetto.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
Per creare un oggetto, la sintassi è nomeoggetto=nomeclasse(argomenti). Quindi, qui stiamo dando il nome dell'animale che deve essere cane e il numero di zampe deve essere 4. Ora, l'oggetto della classe è stato creato, il passo successivo è usare l'oggetto per accedere ai suoi attributi. Per accedere agli attributi di una classe utilizzando l'oggetto, ricorda che solo le variabili di istanza sono accessibili utilizzando l'oggetto. Le variabili di istanza nella nostra classe sono name e legs.

class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
Come possiamo vedere, siamo in grado di accedere alle variabili di istanza usando la notazione del punto.
Esploriamo l'output.
#Output dog 4
Per accedere alle funzioni all'interno della classe o dei metodi, utilizzeremo la notazione del punto. L'esempio è illustrato di seguito.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
Nell'esempio sopra, possiamo vedere che stiamo accedendo al metodo di classe "bark" usando l'oggetto cane che abbiamo creato. Possiamo vedere che non stiamo usando il parametro "self" negli argomenti della funzione. Questo perché non richiediamo l'uso di "sé" al di fuori della classe poiché l'oggetto stesso agisce come se stesso.
Eredità
L'ereditarietà è un processo attraverso il quale gli attributi e i metodi della classe possono essere passati a una classe figlia. La classe da cui eredita la classe figlia è la classe padre. La sintassi per l'ereditarietà è illustrata di seguito.
#Inheritance class parent: class child(parent):
Dall'illustrazione sopra, possiamo vedere che per la sintassi di ereditarietà stiamo inserendo il nome della classe genitore come argomento per la classe figlia. Usiamo la classe Animali e creiamo una classe figlio chiamata cane. Questo è illustrato di seguito.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
Nel codice di esempio sopra, abbiamo creato una classe dog che estende la classe animali che abbiamo creato in precedenza. Stiamo anche usando i parametri degli Animals usando Animals.__init__(arguments) che ha nome e gambe che saranno ereditate dalla classe del cane. Quindi stiamo creando un attributo di istanza per la classe del cane che è razza.
Ora creiamo un oggetto per la classe dog e accediamo agli attributi e ai metodi della classe animals.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
Come possiamo vedere dall'output, gli attributi e i metodi della classe genitore sono accessibili dall'oggetto classe figlio.
In questo blog abbiamo trattato alcune nozioni di base sulle classi in Python. Nel prossimo post del blog tratteremo l'argomento della gestione dei file.

Potrebbe piacerti anche il nostro corso JavaScript da principiante ad avanzato.

Autore: Robert Whitney
Esperto di JavaScript e istruttore che allena i dipartimenti IT. Il suo obiettivo principale è aumentare la produttività del team insegnando agli altri come cooperare efficacemente durante la programmazione.
Corso Python dal principiante all'avanzato in 11 post sul blog:
- Corso di introduzione al Python. Parte 1 Corso Python da principiante ad avanzato in 11 post sul blog
- Variabili e tipi di dati in Python. Parte 2 Corso Python da principiante ad avanzato in 11 post di blog
- Tuple, elenchi, insiemi e dizionari Python. Parte 3 Corso Python da principiante ad avanzato in 11 post sul blog
- Insiemi e dizionari Python. Parte 4 Corso Python da principiante ad avanzato in 11 post sul blog
- Dichiarazioni condizionali in Python. Parte 5 Corso Python da principiante ad avanzato in 11 post sul blog
- Cicli in Python. Parte 6 Corso Python da principiante ad avanzato in 11 post sul blog
- Funzioni Python. Parte 7 Corso Python da principiante ad avanzato in 11 post sul blog
- Funzioni avanzate in Python. Parte 8 Corso Python da principiante ad avanzato in 11 post sul blog
- Classi e oggetti Python. Parte 9 Corso Python da principiante ad avanzato in 11 post sul blog
- File in Python. Parte 10 Corso Python da principiante ad avanzato in 11 post sul blog
- Applicazioni Python in pratica. Parte 11 Corso Python da principiante ad avanzato in 11 post sul blog