Convenzioni per la Nomenclatura delle Classi

Python ha una serie di regole e convenzioni che utilizziamo quando diamo nomi alle nostre classi, metodi e attributi. Queste convenzioni sono importanti perché assicurano coerenza nel codice che scrivi, rendendolo più facile da leggere e comprendere. Inoltre, aderire a queste convenzioni è una buona pratica professionale.

Nomi delle Classi

In Python, i nomi delle classi seguono la convenzione CapWords, nota anche come PascalCase. In questo stile, la prima lettera di ogni parola è maiuscola e non ci sono underscore (_) tra le parole:

class MyClass:  # Il nome della classe inizia con una lettera maiuscola
    pass        # Usiamo "pass" quando non vogliamo che la classe faccia nulla

Il termine PascalCase deriva dal linguaggio di programmazione Pascal, che adottava questa convenzione per la scrittura dei nomi. CapWords è il termine utilizzato nella guida ufficiale di stile di Python (PEP 8) ed è essenzialmente identico a PascalCase.

Nomi dei Metodi

I nomi dei metodi dovrebbero essere tutti in minuscolo, con le parole separate da underscore quando necessario per migliorare la leggibilità. Questo stile è anche noto come snake_case. Ecco un esempio:

class MyClass:
    def my_method(self):  # Il nome del metodo è tutto in minuscolo
        pass              # Dove le parole sono separate da underscore

Nomi degli Attributi

I nomi degli attributi seguono la stessa convenzione dei nomi dei metodi: dovrebbero essere tutti in minuscolo, con le parole separate da underscore per migliorare la leggibilità.

class MyClass:
    def __init__(self):
        self.my_attribute = 'some value'  # Il nome dell'attributo è in minuscolo, 
                                          # parole separate da underscore

Nel codice sopra, abbiamo definito un attributo my_attribute all'interno del metodo __init__. Il metodo __init__ è un metodo speciale nelle classi Python che viene chiamato automaticamente quando viene creata una nuova istanza della classe.


Diamo un'occhiata a un esempio completo di una classe con i suoi metodi e attributi:

class MyCar:                              # Il nome della classe usa CapWords
    def __init__(self):
        self.car_model = 'Tesla Model 3'  # Il nome dell'attributo usa snake_case

    def start_engine(self):               # Il nome del metodo usa snake_case
        print('Engine started!')

Anche se Python non impone strettamente queste convenzioni di nomenclatura, seguirle rende il tuo codice più professionale, leggibile e coerente. Pertanto, è considerata una buona pratica nella comunità Python.

To check your solution you need to sign in

Sign in to continue

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.