Įvadas
Python privatus metodas yra metodas, kuris nėra skirtas naudoti už klasės, kurioje jis yra apibrėžtas, ribų. Šie metodai yra pažymėti dvigubu pabraukimo priešdėliu (__) prieš jų pavadinimą ir juos galima pasiekti tik toje klasėje, kurioje jie yra apibrėžti. Šiame straipsnyje aptarsime privačių Python metodų sampratą, jų privalumus ir trūkumus bei kaip juos naudoti su pavyzdžiais.
Kas yra privatus metodas Python?
Privatus metodas yra metodas, kuris nėra skirtas naudoti už klasės, kurioje jis apibrėžtas, ribų. Šie metodai naudojami vidinėms klasės funkcijoms įgyvendinti. Jie nėra skirti naudoti išoriniam kodui. Python privatūs metodai žymimi dvigubu pabraukimo priešdėliu prieš jų pavadinimą.
Pavyzdys
__method_name
Kaip apibrėžti privatų metodą Python?
Kai programuotojas nori apibrėžti privatų metodą Python, programuotojas turi pridėti dvigubą pabraukimo priešdėlį prieš metodo pavadinimą. Štai pavyzdys:
1 programa:
class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass()
Išvestis:
Paaiškinimas:
Aukščiau pateiktame pavyzdyje apibrėžėme klasę, vadinamą MyClass. Jis turi privatų metodą, vadinamą __private_method. Šis metodas iškviečiamas iš klasės konstruktoriaus (__init__), naudojant self.__private_method(). Kadangi metodas turi dvigubą pabraukimo priešdėlį, jis yra privatus ir negali būti pasiekiamas už klasės ribų.
2 programa:
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()
Išvestis:
Paaiškinimas:
Pateiktas kodas apibrėžia BankAccount klasę su lėšų įnešimo ir išėmimo būdais, sąskaitos likučio rodymu ir sąskaitos išrašo spausdinimu. Tada sukuriamas šios klasės egzempliorius, su juo atliekamos tam tikros operacijos, o po to išspausdinamas pareiškimas.
„Python“ privačių metodų pranašumai
„Python“ privačių metodų trūkumai
Išvada
Privatūs Python metodai yra naudinga funkcija, kuri gali padėti pasiekti inkapsuliavimą ir pagerinti kodo priežiūrą. Nors jie turi tam tikrų trūkumų, privačių metodų naudojimo Python pranašumai nusveria trūkumus.