Uvod
V Pythonu je zasebna metoda metoda, ki ni namenjena uporabi zunaj razreda, v katerem je definirana. Te metode so označene z dvojno podčrtano predpono (__) pred njihovim imenom in do njih je mogoče dostopati samo znotraj razreda, kjer so definirane. V tem članku bomo razpravljali o konceptu zasebnih metod v Pythonu, njihovih prednostih in slabostih ter o tem, kako jih uporabiti s primeri.
Kaj je zasebna metoda v Pythonu?
Zasebna metoda je metoda, ki ni namenjena uporabi zunaj razreda, v katerem je definirana. Te metode se uporabljajo za implementacijo notranje funkcionalnosti znotraj razreda. Ti niso namenjeni uporabi z zunanjo kodo. V Pythonu so zasebne metode označene z dvojno podčrtano predpono pred njihovim imenom.
Primer
__method_name
Kako definirati zasebno metodo v Pythonu?
Ko želi programer definirati zasebno metodo v Pythonu, mora dodati dvojno podčrtano predpono pred imenom metode. Tukaj je primer:
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()
Izhod:
Pojasnilo:
V zgornjem primeru smo definirali razred, imenovan MyClass. Ima zasebno metodo, imenovano __private_method. Ta metoda se pokliče iz konstruktorja razreda (__init__) z uporabo self.__private_method(). Ker ima metoda dvojno podčrtano predpono, je zasebna in do nje ni mogoče dostopati zunaj razreda.
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()
Izhod:
Pojasnilo:
Priložena koda definira razred BankAccount z metodami za polog in dvig sredstev, prikaz stanja na računu in tiskanje izpiska računa. Nato se ustvari primerek tega razreda in z njim se izvede nekaj transakcij, čemur sledi tiskanje izjave.
Prednosti zasebnih metod v Pythonu
Slabosti zasebnih metod v Pythonu
Zaključek
Zasebne metode v Pythonu so uporabna funkcija, ki lahko pomaga doseči enkapsulacijo in izboljša vzdržljivost kode. Čeprav imajo nekatere pomanjkljivosti, so prednosti uporabe zasebnih metod v Pythonu večje od pomanjkljivosti.