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.