Úvod
V Pythonu je soukromá metoda metoda, která není určena k použití mimo třídu, ve které je definována. Tyto metody jsou označeny dvojitou předponou podtržítka (__) před svým názvem a lze k nim přistupovat pouze v rámci třídy, kde jsou definovány. V tomto článku se budeme zabývat konceptem soukromých metod v Pythonu, jejich výhodami a nevýhodami a jak je používat s příklady.
Co je soukromá metoda v Pythonu?
Soukromá metoda je metoda, která není určena k použití mimo třídu, ve které je definována. Tyto metody se používají k implementaci vnitřní funkčnosti v rámci třídy. Tyto nejsou určeny k použití externím kódem. V Pythonu jsou soukromé metody označeny dvojitým podtržítkem před jejich názvem.
Příklad
__method_name
Jak definovat soukromou metodu v Pythonu?
Když chce programátor v Pythonu definovat soukromou metodu, musí před název metody přidat předponu dvojitého podtržení. Zde je příklad:
Program 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()
Výstup:
Vysvětlení:
Ve výše uvedeném příkladu jsme definovali třídu s názvem MyClass. Má soukromou metodu nazvanou __private_method. Tato metoda je volána z konstruktoru třídy (__init__) pomocí self.__private_method(). Protože má metoda předponu dvojitého podtržení, je soukromá a nelze k ní přistupovat mimo třídu.
Program 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()
Výstup:
Vysvětlení:
Poskytnutý kód definuje třídu Bankovní účet s metodami pro vkládání a výběr prostředků, zobrazení zůstatku na účtu a tisk výpisu z účtu. Poté je vytvořena instance této třídy a jsou s ní provedeny některé transakce, po kterých následuje tisk příkazu.
Výhody privátních metod v Pythonu
Nevýhody privátních metod v Pythonu
Závěr
Soukromé metody v Pythonu jsou užitečnou funkcí, která může pomoci dosáhnout zapouzdření a zlepšit udržovatelnost kódu. I když mají některé nevýhody, výhody používání soukromých metod v Pythonu převažují nad nevýhodami.