Méthodes
Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 5 sur 64.
Les méthodes sont des fonctions qui appartiennent à une classe. Elles définissent les comportements ou les actions que les objets peuvent effectuer.
Voici un exemple d'une classe avec des méthodes :
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 resultCréez un objet calculatrice :
my_calc = Calculator()Appelez une méthode qui ne nécessite pas de paramètres :
my_calc.greet()Appeler des méthodes avec des paramètres :
sum_result = my_calc.add(5, 3)
print(sum_result)Appelez une méthode qui à la fois affiche et renvoie une valeur :
product = my_calc.multiply(4, 7)Sortie :
Hello! I'm a calculator.
8
4 × 7 = 28Les méthodes peuvent :
- Prendre des paramètres comme
add(self, a, b) - Retourner des valeurs comme
return a + b - Afficher une sortie directement comme
print("Hello!") - Faire à la fois l'affichage et le retour de valeur
Point clé : Les méthodes définissent ce que vos objets peuvent faire. Incluez toujours self comme premier paramètre, mais ne le passez pas lors de l'appel de la méthode.
Défi
FacileDans ce défi, vous allez implémenter un système bancaire. Vous allez créer une classe BankAccount dans un fichier et l'utiliser dans un autre fichier, démontrant ainsi comment organiser votre code pour une meilleure maintenabilité.
Vous devez travailler avec deux fichiers :
- bank_account.py : Où vous définirez votre classe
BankAccount - driver.py : Où vous importerez la classe, créerez un compte et effectuerez des transactions
Créez une classe BankAccount dans bank_account.py avec :
- Un attribut de classe
bank_namedéfini sur "Python National Bank" - Une méthode
depositqui prend un montant et l'ajoute au solde du compte - Une méthode
withdrawqui prend un montant et le soustrait du solde - Une méthode
get_balancequi retourne le solde actuel
Ensuite, dans driver.py, importez votre classe BankAccount, créez un compte, déposez $100, retirez $30, et affichez le solde avec le format : f"Current balance: ${my_account.get_balance()}"
Aide-mémoire
Les méthodes sont des fonctions qui appartiennent à une classe et définissent ce que les objets peuvent faire.
Définir des méthodes dans une classe :
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 resultCréer un objet et appeler des méthodes :
my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)Les méthodes peuvent :
- Prendre des paramètres :
add(self, a, b) - Retourner des valeurs :
return a + b - Afficher une sortie :
print("Hello!") - Faire à la fois l'affichage et le retour de valeur
Point clé : Incluez toujours self comme premier paramètre dans les définitions de méthodes, mais ne le passez pas lors de l'appel de la méthode.
Essayez vous-même
from bank_account import BankAccount
# Créer un compte et tester vos méthodes
my_account = BankAccount()
my_account.balance = 0 # Solde de départ
# TODO: Effectuer des transactions
# (Votre code ici)
# TODO: Afficher le solde final
# (Votre code ici)Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Object Oriented Programming
1Les fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses vs ObjetsLe paramètre selfMéthodesAttributsMéthode constructeur (__init__)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLa fonction super()Redéfinition de méthodeHéritage multipleOrdre de résolution des méthodesRécapitulatif - Hiérarchie des employés7Méthodes spéciales
Introduction aux méthodes magiquesSurcharge d'opérateursMéthodes magiques de conteneurRécapitulatif - Liste personnalisée10Patrons de conception, Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron Strategy2Décorateurs
Introduction aux décorateursDécorateur de propriétéDécorateur de méthode statiqueDécorateur de méthode de classe5Polymorphisme
Retour sur la redéfinition de méthodeDuck TypingClasses et méthodes abstraitesConception d'interfacesRécapitulatif - Calculateur de formes8Concepts avancés de la POO
Composition vs HéritageMixinsMéthodes statiques et de classeDécorateurs de classeGestionnaires de contexte11Patrons de conception, Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode TemplatePatron ÉtatPatron Composite3Propriétés de classe
Variables d'instance vs variables de classeDécorateurs de propriétéAttributs privésRécapitulatif - Gestionnaire de compte bancaire