Metodi
Fa parte della sezione Programmazione orientata agli oggetti del percorso Python di Coddy. Lezione 5 di 64.
I metodi sono funzioni che appartengono a una classe. Definiscono i comportamenti o le azioni che gli oggetti possono eseguire.
Ecco un esempio di classe con metodi:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultCrea un oggetto calcolatrice:
my_calc = Calculator()Chiama un metodo che non richiede parametri:
my_calc.greet()Chiama i metodi con parametri:
sum_result = my_calc.add(5, 3)
print(sum_result)Chiama un metodo che stampa e restituisce un valore:
product = my_calc.multiply(4, 7)Output:
Hello! I'm a calculator.
8
4 × 7 = 28I metodi possono:
- Accettare parametri come
add(self, a, b) - Restituire valori come
return a + b - Stampare direttamente l'output come
print("Hello!") - Sia stampare che restituire
Punto chiave: i metodi definiscono ciò che i tuoi oggetti possono fare. Includi sempre self come primo parametro, ma non passarlo quando chiami il metodo.
Sfida
FacileIn questa sfida implementerai un sistema bancario. Creerai una classe BankAccount in un file e la userai in un altro file, mostrando come organizzare il codice per renderlo più facile da mantenere.
Devi lavorare con due file:
- bank_account.py: qui definirai la classe
BankAccount - driver.py: qui importerai la classe, creerai un conto ed eseguirai delle transazioni
Crea una classe BankAccount in bank_account.py con:
- Un attributo di classe
bank_nameimpostato su "Python National Bank" - Un metodo
depositche accetta un importo e lo aggiunge al saldo del conto - Un metodo
withdrawche accetta un importo e lo sottrae dal saldo - Un metodo
get_balanceche restituisce il saldo attuale
Poi, in driver.py, importa la classe BankAccount, crea un conto, deposita $100, preleva $30 e stampa il saldo con il formato: f"Current balance: ${my_account.get_balance()}"
Provalo tu
from bank_account import BankAccount
# Crea un conto e testa i tuoi metodi
my_account = BankAccount()
my_account.balance = 0 # Saldo iniziale
# TODO: Effettua delle transazioni
# (Il tuo codice qui)
# TODO: Stampa il saldo finale
# (Il tuo codice qui)Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti di OOP
File esterniIntroduzione a OOPClassi vs. oggettiIl parametro selfMetodiAttributiMetodo costruttore (__init__)Riepilogo - Calcolatrice semplice4Ereditarietà
Ereditarietà di baseLa funzione super()Sovrascrittura dei metodiEreditarietà multiplaOrdine di risoluzione dei metodiRiepilogo - Gerarchia dei dipendenti7Metodi speciali
Introduzione ai metodi magiciSovraccarico degli operatoriMetodi magici dei contenitoriRiepilogo - Lista personalizzata10Modelli di progettazione Parte 1
Introduzione ai modelli di progettazioneModello SingletonModello FactoryModello ObserverModello Strategy2Decoratori
Introduzione ai decoratoriDecoratore di proprietàDecoratore di metodo staticoDecoratore di metodo di classe5Polimorfismo
Ripasso dell'override dei metodiDuck typingClassi e metodi astrattiProgettazione delle interfacceRiepilogo - Calcolatore di forme8Concetti avanzati di OOP
Composizione vs ereditarietàMixinMetodi statici e di classeDecorator di classeContext manager11Pattern di progettazione - Parte 2
Pattern dei comandiPattern adattatorePattern decoratorePattern metodo templatePattern statoPattern composito3Proprietà delle classi
Variabili di istanza e di classeDecorator delle proprietàAttributi privatiRiepilogo - Gestore di conti bancari6Incapsulamento
Membri pubblici, protetti e privatiModificatori di accessoOccultamento delle informazioniDecorator delle proprietà: avanzatiRipasso - Sistema di registri degli studenti12Progetto: Gestione della biblioteca
Panoramica del progettoClassi Libro e UtenteSistema di prestitoFunzionalità di ricercaInterfaccia amministratoreTest e integrazioneEsercitati da solo: Compilatore Python online