logo

Méthode privée Python

Introduction

En Python, une méthode privée est une méthode qui n’est pas destinée à être utilisée en dehors de la classe dans laquelle elle est définie. Ces méthodes sont désignées par un préfixe double trait de soulignement (__) avant leur nom et ne sont accessibles que dans la classe où elles sont définies. Dans cet article, nous allons aborder le concept de méthodes privées en Python, leurs avantages et inconvénients, et comment les utiliser avec des exemples.

algorithme de tri par fusion

Qu’est-ce qu’une méthode privée en Python ?

Une méthode privée est une méthode qui n’est pas destinée à être utilisée en dehors de la classe dans laquelle elle est définie. Ces méthodes sont utilisées pour implémenter des fonctionnalités internes au sein de la classe. Ceux-ci ne sont pas destinés à être utilisés par du code externe. En Python, les méthodes privées sont désignées par un préfixe double trait de soulignement avant leur nom.

Exemple

 __method_name 

Comment définir une méthode privée en Python ?

Lorsque le programmeur souhaite définir une méthode privée en Python, il doit alors ajouter un préfixe double trait de soulignement avant le nom de la méthode. Voici un exemple:

Programme 1 :

 class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass() 

Sortir:

Méthode privée Python

Explication:

Dans l'exemple ci-dessus, nous avons défini une classe appelée MyClass. Il possède une méthode privée appelée __private_method. Cette méthode est appelée depuis le constructeur de classe (__init__) en utilisant self.__private_method(). Étant donné que la méthode a un préfixe à double trait de soulignement, elle est privée et n'est pas accessible en dehors de la classe.

Programme 2 :

 class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement() 

Sortir:

Méthode privée Python

Explication:

Le code fourni définit une classe BankAccount avec des méthodes de dépôt et de retrait de fonds, d'affichage du solde du compte et d'impression d'un relevé de compte. Une instance de cette classe est ensuite créée et certaines transactions y sont effectuées, suivies de l'impression d'une instruction.

Avantages des méthodes privées en Python

    Encapsulation :Les méthodes privées aident à réaliser l’encapsulation. C'est un principe fondamental de la programmation orientée objet. En rendant certaines méthodes privées, le programmeur peut contrôler la manière dont les fonctionnalités internes de la classe sont accessibles à partir du code externe. Cela rend la classe plus sécurisée et aide à empêcher les modifications indésirables du comportement de la classe.Réutilisabilité du code :Les méthodes privées peuvent être utilisées pour implémenter des fonctionnalités internes pouvant être réutilisées au sein de la classe. Cela peut aider à réduire la duplication de code et à améliorer la maintenabilité du code.Débogage facile :Les méthodes privées ne sont accessibles qu'au sein de la classe, ce qui facilite le débogage du code en isolant le comportement de la classe.

Inconvénients des méthodes privées en Python

    Accès limité:Les méthodes privées ne sont accessibles qu'au sein de la classe dans laquelle elles sont définies. Cela signifie que si le programmeur a besoin d'accéder aux fonctionnalités d'une méthode privée depuis l'extérieur de la classe, il doit alors créer une méthode publique qui appelle la méthode privée. Cela peut ajouter une complexité supplémentaire au code.Faux sentiment de sécurité :Les méthodes privées de Python ne sont pas vraiment privées. Il est toujours possible d'y accéder en dehors de la classe en utilisant la syntaxe _classname__methodname(). Cependant, cela est considéré comme une mauvaise pratique et doit être évité.Complexité accrue :L'utilisation de méthodes privées peut augmenter la complexité du code, le rendant plus difficile à comprendre et à maintenir. Cela peut être particulièrement vrai si les méthodes privées sont mal documentées.

Conclusion

Les méthodes privées en Python sont une fonctionnalité utile qui peut aider à réaliser l'encapsulation et à améliorer la maintenabilité du code. Bien qu’elles présentent certains inconvénients, les avantages de l’utilisation de méthodes privées en Python l’emportent sur les inconvénients.