Tutorial sul Python - Classe

Jinku Hu 13 maggio 2021
  1. Introduzione a OOP
  2. Classi e oggetti di Python
  3. Costruttori di classi Python
  4. Cancellare gli attributi della classe
Tutorial sul Python - 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'}
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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