logo

Private Python-Methode

Einführung

In Python ist eine private Methode eine Methode, die nicht dazu gedacht ist, außerhalb der Klasse verwendet zu werden, in der sie definiert ist. Diese Methoden werden durch einen doppelten Unterstrich (__) vor ihrem Namen gekennzeichnet und können nur innerhalb der Klasse aufgerufen werden, in der sie definiert sind. In diesem Artikel werden wir das Konzept privater Methoden in Python, ihre Vor- und Nachteile sowie deren Verwendung anhand von Beispielen diskutieren.

Was ist eine private Methode in Python?

Eine private Methode ist eine Methode, die nicht dazu gedacht ist, außerhalb der Klasse verwendet zu werden, in der sie definiert ist. Diese Methoden werden verwendet, um interne Funktionalität innerhalb der Klasse zu implementieren. Diese sind nicht für die Verwendung durch externen Code gedacht. In Python werden private Methoden durch einen doppelten Unterstrich vor ihrem Namen gekennzeichnet.

teilweise Abhängigkeit

Beispiel

 __method_name 

Wie definiere ich eine private Methode in Python?

Wenn der Programmierer eine private Methode in Python definieren möchte, muss er vor dem Methodennamen einen doppelten Unterstrich als Präfix hinzufügen. Hier ist ein Beispiel:

Programm 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() 

Ausgabe:

Private Python-Methode

Erläuterung:

osi-Referenzmodell in der Vernetzung

Im obigen Beispiel haben wir eine Klasse namens MyClass definiert. Es gibt eine private Methode namens __private_method. Diese Methode wird vom Klassenkonstruktor (__init__) mit self.__private_method() aufgerufen. Da der Methode ein doppelter Unterstrich vorangestellt ist, ist sie privat und kann außerhalb der Klasse nicht aufgerufen werden.

Programm 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() 

Ausgabe:

Private Python-Methode

Erläuterung:

Der bereitgestellte Code definiert eine BankAccount-Klasse mit Methoden zum Ein- und Auszahlen von Geldern, zum Anzeigen des Kontostands und zum Drucken eines Kontoauszugs. Anschließend wird eine Instanz dieser Klasse erstellt, einige Transaktionen werden mit ihr durchgeführt und anschließend wird eine Anweisung ausgegeben.

Computer definieren

Vorteile privater Methoden in Python

    Verkapselung:Private Methoden helfen beim Erreichen der Kapselung. Es ist ein Grundprinzip der objektorientierten Programmierung. Indem der Programmierer bestimmte Methoden privat macht, kann er steuern, wie von externem Code aus auf die interne Funktionalität der Klasse zugegriffen wird. Dies macht die Klasse sicherer und hilft dabei, unerwünschte Änderungen am Verhalten der Klasse zu verhindern.Wiederverwendbarkeit des Codes:Mit privaten Methoden können interne Funktionen implementiert werden, die innerhalb der Klasse wiederverwendet werden können. Dies kann dazu beitragen, die Codeduplizierung zu reduzieren und die Wartbarkeit des Codes zu verbessern.Einfaches Debuggen:Auf private Methoden kann nur innerhalb der Klasse zugegriffen werden, was das Debuggen von Code erleichtert, indem das Verhalten der Klasse isoliert wird.

Nachteile privater Methoden in Python

    Beschränkter Zugang:Auf private Methoden kann nur innerhalb der Klasse zugegriffen werden, in der sie definiert sind. Das heißt, wenn der Programmierer von außerhalb der Klasse auf die Funktionalität einer privaten Methode zugreifen muss, muss er eine öffentliche Methode erstellen, die die private Methode aufruft. Dies kann die Komplexität des Codes erhöhen.Falsches Sicherheitsgefühl:Die privaten Methoden von Python sind nicht wirklich privat. Es ist weiterhin möglich, außerhalb der Klasse mit der Syntax _classname__methodname() auf sie zuzugreifen. Dies gilt jedoch als schlechte Praxis und sollte vermieden werden.Erhöhte Komplexität:Die Verwendung privater Methoden kann die Komplexität des Codes erhöhen und das Verständnis und die Wartung erschweren. Dies kann insbesondere dann der Fall sein, wenn die privaten Methoden schlecht dokumentiert sind.

Abschluss

Private Methoden in Python sind eine nützliche Funktion, die dabei helfen kann, eine Kapselung zu erreichen und die Wartbarkeit des Codes zu verbessern. Obwohl sie einige Nachteile haben, überwiegen die Vorteile der Verwendung privater Methoden in Python die Nachteile.