Tutorial sul Python - Classe
- Introduzione a OOP
- Classi e oggetti di Python
- Costruttori di classi Python
- Cancellare gli attributi della classe
In questa sezione parleremo delle basi della programmazione Python orientata agli oggetti (OOP) come classe, oggetto.
Python è un linguaggio di programmazione orientato agli oggetti, in altre parole, tutto in Python è un oggetto.
Introduzione a OOP
Le basi della programmazione orientata agli oggetti (OOP) sono costituite dalle seguenti terminologie:
- Classi
- Dati membri
- Metodi
- Oggetti
- Costruttori
- Metodo Sovraccarico
- Sovraccarico dell’operatore
- Eredità
- Istanze di classe e istanziazione
Classi e oggetti di Python
Una classe può essere pensata come uno schema per un oggetto, mentre un oggetto è una raccolta di dati membri e la funzione di membro.
Una classe contiene membri dati (variabili) e funzioni membro (metodi) a cui si può accedere utilizzando gli oggetti di quella classe.
Creare una classe
Una classe viene creata usando la parola chiave class
e poi il nome della classe:
La sintassi è la seguente:
class NameofClass:
# data members of the class
# member functions of the class
Esempio:
>>> class Waiter:
name = "Andrew"
def display():
print('Waiter Class')
>>> print(Waiter.display)
<function Waiter.display at 0x0359E270>
>>> print(Waiter.name)
Andrew
Questo esempio crea una classe chiamata Waiter
che contiene un name
di un membro dati e un metodo membro display()
.
Creare un’istanza di un oggetto di una classe
Un’istanza di oggetto può essere creata utilizzando la seguente sintassi:
obj = className()
Esempio:
>>> w = Waiter()
>>> print(w.name)
Andrew
>>> w.display()
Waiter Class
Si può vedere qui che l’oggetto della classe Waiter
è usato per accedere ai membri (attributi) della classe usando l’operatore di punti.
Attributi della classe
Insieme ai membri dati e alle funzioni dei membri, ci sono alcuni attributi integrati di una classe Python.
__dict__
: è un dizionario che contiene il namespace della classe.__doc__
: è la stringa di documentazione della classe__nome__
: è il nome della classe__modulo__
: è il modulo in cui viene definita la classe.__bases__
: è una tupla che contiene la classe base.
Questi attributi sono accessibili usando l’operatore di punti.
Esempio:
>>> class Waiter:
"This is a waiter class"
name="Andrew"
def display():
print("You are in waiter class")
>>> w = Waiter()
>>> print(w.__doc__)
This is a waiter class
>>> print(w.__dict__)
{}
>>> print(w.__module__)
__main__
Costruttori di classi Python
Un costruttore in Python OOP è creato usando __init__()
. Questo metodo built-in è un metodo speciale chiamato quando viene creato un oggetto della classe corrispondente.
I costruttori sono usati per inizializzare i membri dati della classe.
>>> class Waiter:
def __init__(self, n):
self.name=n
self.age=20
def display(self):
print(self.name)
>>> w=Waiter('Rob')
>>> w.display()
Rob
Qui, l’argomento self
è usato nella definizione del costruttore e anche in tutti i metodi di classe. Pertanto, quando si chiama una funzione come w.display()
, viene interpretata come Waiter.display(w)
.
Cancellare gli attributi della classe
Si può usare l’istruzione del
per cancellare gli attributi e gli oggetti di una classe.
>>> w=Waiter('Rob')
>>> w.__dict__
{'name': 'Rob', 'age': 20}
>>> del w.age
>>> w.__dict__
{'name': 'Rob'}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook