logo

Python privémethode

Invoering

In Python is een privémethode een methode die niet bedoeld is om te worden gebruikt buiten de klasse waarin deze is gedefinieerd. Deze methoden worden aangegeven met een dubbel onderstrepingsteken (__) vóór hun naam, en ze zijn alleen toegankelijk binnen de klasse waarin ze zijn gedefinieerd. In dit artikel gaan we het concept van privémethoden in Python bespreken, hun voor- en nadelen, en hoe je ze met voorbeelden kunt gebruiken.

Wat is een privémethode in Python?

Een private methode is een methode die niet bedoeld is om te worden gebruikt buiten de klasse waarin deze is gedefinieerd. Deze methoden worden gebruikt om interne functionaliteit binnen de klasse te implementeren. Deze zijn niet bedoeld om te worden gebruikt door externe code. In Python worden privémethoden aangegeven met een dubbel onderstrepingsteken vóór hun naam.

Voorbeeld

 __method_name 

Hoe definieer ik een privémethode in Python?

Wanneer de programmeur een privémethode in Python wil definiëren, moet de programmeur een dubbel onderstrepingsteken voor de naam van de methode toevoegen. Hier is een voorbeeld:

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

Uitgang:

Python privémethode

Uitleg:

In het bovenstaande voorbeeld hebben we een klasse gedefinieerd met de naam MyClass. Het heeft een privémethode genaamd __private_method. Deze methode wordt aangeroepen vanuit de klassenconstructor (__init__) met behulp van self.__private_method(). Omdat de methode een dubbel onderstrepingsteken heeft, is deze privé en niet toegankelijk buiten de klasse.

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

Uitgang:

Python privémethode

Uitleg:

De verstrekte code definieert een klasse BankAccount met methoden voor het storten en opnemen van geld, het weergeven van het rekeningsaldo en het afdrukken van een rekeningafschrift. Er wordt vervolgens een exemplaar van deze klasse gemaakt en er worden enkele transacties mee uitgevoerd, gevolgd door het afdrukken van een verklaring.

Voordelen van privémethoden in Python

    Inkapseling:Privémethoden helpen bij het bereiken van inkapseling. Het is een fundamenteel principe van objectgeoriënteerd programmeren. Door bepaalde methoden privé te maken, kan de programmeur bepalen hoe toegang wordt verkregen tot de interne functionaliteit van de klasse vanuit externe code. Dit maakt de klas veiliger en helpt ongewenste veranderingen in het gedrag van de klas te voorkomen.Herbruikbaarheid van code:Privémethoden kunnen worden gebruikt om interne functionaliteit te implementeren die binnen de klasse kan worden hergebruikt. Dit kan helpen bij het verminderen van codeduplicatie en het verbeteren van de onderhoudbaarheid van de code.Eenvoudig foutopsporing:Privémethoden zijn alleen toegankelijk binnen de klasse, waardoor het eenvoudiger wordt om code te debuggen door het gedrag van de klasse te isoleren.

Nadelen van privémethoden in Python

    Beperkte toegang:Privémethoden zijn alleen toegankelijk binnen de klasse waarin ze zijn gedefinieerd. Dit betekent dat als de programmeur toegang moet krijgen tot de functionaliteit van een privémethode van buiten de klasse, hij een openbare methode moet maken die de privémethode aanroept. Dit kan extra complexiteit aan de code toevoegen.Vals gevoel van veiligheid:De privémethoden van Python zijn niet echt privé. Het is nog steeds mogelijk om ze buiten de klasse te benaderen met behulp van de syntaxis _classname__methodname(). Dit wordt echter als een slechte praktijk beschouwd en moet worden vermeden.Verhoogde complexiteit:Het gebruik van privémethoden kan de complexiteit van de code vergroten, waardoor deze moeilijker te begrijpen en te onderhouden is. Dit kan vooral het geval zijn als de privémethoden slecht gedocumenteerd zijn.

Conclusie

Privémethoden in Python zijn een nuttige functie die kan helpen bij het bereiken van inkapseling en het verbeteren van de onderhoudbaarheid van de code. Hoewel ze enkele nadelen hebben, wegen de voordelen van het gebruik van privémethoden in Python zwaarder dan de nadelen.