Ievads
Python privātā metode ir metode, kuru nav paredzēts izmantot ārpus klases, kurā tā ir definēta. Šīs metodes ir apzīmētas ar dubultu pasvītrojuma prefiksu (__) pirms to nosaukuma, un tām var piekļūt tikai tajā klasē, kurā tās ir definētas. Šajā rakstā mēs ar piemēriem apspriedīsim privāto metožu jēdzienu Python, to priekšrocības un trūkumus, kā arī to izmantošanu.
Kas ir privātā metode Python?
Privātā metode ir metode, kuru nav paredzēts izmantot ārpus klases, kurā tā ir definēta. Šīs metodes tiek izmantotas, lai ieviestu klases iekšējo funkcionalitāti. Tie nav paredzēti ārējam kodam. Programmā Python privātās metodes tiek apzīmētas ar dubultu pasvītra prefiksu pirms to nosaukuma.
Piemērs
__method_name
Kā Python definēt privāto metodi?
Ja programmētājs vēlas definēt privātu metodi Python, programmētājam pirms metodes nosaukuma jāpievieno dubults pasvītra prefikss. Šeit ir piemērs:
1. programma:
class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass()
Izvade:
Paskaidrojums:
Iepriekš minētajā piemērā mēs esam definējuši klasi ar nosaukumu MyClass. Tam ir privāta metode, ko sauc par __private_method. Šī metode tiek izsaukta no klases konstruktora (__init__), izmantojot self.__private_method(). Tā kā metodei ir dubults pasvītra prefikss, tā ir privāta un tai nevar piekļūt ārpus klases.
2. programma:
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()
Izvade:
Paskaidrojums:
Norādītais kods definē BankAccount klasi ar līdzekļu iemaksas un izņemšanas metodēm, konta atlikuma attēlošanu un konta izraksta drukāšanu. Pēc tam tiek izveidots šīs klases gadījums, ar to tiek veikti daži darījumi, kam seko paziņojuma drukāšana.
Privāto metožu priekšrocības Python
Python privāto metožu trūkumi
Secinājums
Privātās metodes Python ir noderīga funkcija, kas var palīdzēt panākt iekapsulēšanu un uzlabot koda apkopi. Lai gan tām ir daži trūkumi, Python privāto metožu izmantošanas priekšrocības pārsniedz trūkumus.