Tutorial sul Python - Classe

  1. Introduzione a OOP
  2. Classi e oggetti di Python
  3. Costruttori di classi Python
  4. 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:

  1. Classi
  2. Dati membri
  3. Metodi
  4. Oggetti
  5. Costruttori
  6. Metodo Sovraccarico
  7. Sovraccarico dell’operatore
  8. Eredità
  9. 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.

  1. __dict__: è un dizionario che contiene il namespace della classe.
  2. __doc__: è la stringa di documentazione della classe
  3. __nome__: è il nome della classe
  4. __modulo__: è il modulo in cui viene definita la classe.
  5. __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'}