Classi e oggetti Python
Classi/oggetti Python
Python è un linguaggio di programmazione orientato agli oggetti.
Quasi tutto in Python è un oggetto, con le sue proprietà e metodi.
Una classe è come un costruttore di oggetti o un "progetto" per la creazione di oggetti.
Crea una classe
Per creare una classe, usa la parola chiave class
:
Esempio
Crea una classe denominata MyClass, con una proprietà denominata x:
class MyClass:
x = 5
Crea oggetto
Ora possiamo usare la classe denominata MyClass per creare oggetti:
Esempio
Crea un oggetto chiamato p1 e stampa il valore di x:
p1 = MyClass()
print(p1.x)
La funzione __init__()
Gli esempi sopra sono classi e oggetti nella loro forma più semplice e non sono molto utili nelle applicazioni della vita reale.
Per comprendere il significato delle classi dobbiamo comprendere la funzione incorporata __init__().
Tutte le classi hanno una funzione chiamata __init__(), che viene sempre eseguita quando la classe viene avviata.
Utilizzare la funzione __init__() per assegnare valori alle proprietà dell'oggetto o altre operazioni che è necessario eseguire durante la creazione dell'oggetto:
Esempio
Crea una classe denominata Persona, usa la funzione __init__() per assegnare valori per nome ed età:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
Nota: la __init__()
funzione viene chiamata automaticamente ogni volta che la classe viene utilizzata per creare un nuovo oggetto.
Metodi dell'oggetto
Gli oggetti possono anche contenere metodi. I metodi negli oggetti sono funzioni che appartengono all'oggetto.
Creiamo un metodo nella classe Person:
Esempio
Inserisci una funzione che stampa un saluto ed eseguilo sull'oggetto p1:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
Nota: il self
parametro è un riferimento all'istanza corrente della classe e viene utilizzato per accedere alle variabili che appartengono alla classe.
Il parametro auto
Il self
parametro è un riferimento all'istanza corrente della classe e viene utilizzato per accedere alle variabili che appartengono alla classe.
Non deve essere chiamato self
, puoi chiamarlo come preferisci, ma deve essere il primo parametro di qualsiasi funzione nella classe:
Esempio
Usa le parole mysillyobject e abc invece di self :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Modifica le proprietà dell'oggetto
Puoi modificare le proprietà di oggetti come questo:
Esempio
Imposta l'età di p1 su 40:
p1.age = 40
Elimina le proprietà dell'oggetto
È possibile eliminare le proprietà degli oggetti utilizzando la
del
parola chiave:
Esempio
Elimina la proprietà age dall'oggetto p1:
del p1.age
Elimina oggetti
Puoi eliminare oggetti usando la del
parola chiave:
Esempio
Elimina l'oggetto p1:
del p1
La dichiarazione di passaggio
class
le definizioni non possono essere vuote, ma se per qualche motivo hai una class
definizione senza contenuto, inserisci l' pass
istruzione per evitare di ottenere un errore.
Esempio
class Person:
pass