Wstęp
W Pythonie metoda prywatna to metoda, która nie jest przeznaczona do użytku poza klasą, w której jest zdefiniowana. Metody te są oznaczone przed nazwą podwójnym podkreśleniem (__) i można uzyskać do nich dostęp tylko w klasie, w której zostały zdefiniowane. W tym artykule omówimy koncepcję metod prywatnych w Pythonie, ich zalety i wady oraz sposoby ich używania na przykładach.
scalanie sortowania Java
Co to jest metoda prywatna w Pythonie?
Metoda prywatna to metoda, która nie jest przeznaczona do stosowania poza klasą, w której jest zdefiniowana. Metody te służą do implementacji wewnętrznej funkcjonalności w klasie. Nie są one przeznaczone do użycia przez kod zewnętrzny. W Pythonie metody prywatne są oznaczone podwójnym podkreśleniem przed ich nazwą.
Przykład
__method_name
Jak zdefiniować metodę prywatną w Pythonie?
Gdy programista chce zdefiniować metodę prywatną w Pythonie, musi dodać przedrostek z podwójnym podkreśleniem przed nazwą metody. Oto przykład:
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()
Wyjście:
Wyjaśnienie:
W powyższym przykładzie zdefiniowaliśmy klasę o nazwie MyClass. Posiada prywatną metodę o nazwie __private_method. Ta metoda jest wywoływana z konstruktora klasy (__init__) przy użyciu metody self.__private_method(). Ponieważ metoda ma przedrostek z podwójnym podkreśleniem, jest prywatna i nie można uzyskać do niej dostępu poza klasą.
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()
Wyjście:
Wyjaśnienie:
Dostarczony kod definiuje klasę BankAccount z metodami wpłacania i wypłacania środków, wyświetlania salda konta i drukowania wyciągu z rachunku. Następnie tworzona jest instancja tej klasy, przeprowadzane są w niej pewne transakcje, po czym następuje drukowanie instrukcji.
Zalety metod prywatnych w Pythonie
Wady metod prywatnych w Pythonie
Wniosek
Metody prywatne w Pythonie to przydatna funkcja, która może pomóc w osiągnięciu enkapsulacji i poprawie łatwości konserwacji kodu. Chociaż mają one pewne wady, korzyści wynikające z używania metod prywatnych w Pythonie przeważają nad wadami.