Увод
У Питхон-у, приватни метод је метод који није намењен да се користи изван класе у којој је дефинисан. Ове методе су означене префиксом двоструке доње црте (__) испред њиховог имена и може им се приступити само унутар класе у којој су дефинисане. У овом чланку ћемо разговарати о концепту приватних метода у Питхон-у, њиховим предностима и недостацима и како их користити на примерима.
Шта је приватни метод у Питхон-у?
Приватни метод је метод који није намењен да се користи изван класе у којој је дефинисан. Ове методе се користе за имплементацију интерне функционалности унутар класе. Они нису намењени да их користи спољни код. У Питхон-у, приватне методе су означене префиксом двоструке доње црте испред њиховог имена.
Пример
__method_name
Како дефинисати приватни метод у Питхон-у?
Када програмер жели да дефинише приватну методу у Питхон-у, онда програмер треба да дода префикс двоструке доње црте испред назива методе. Ево примера:
Програм 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()
Излаз:
Објашњење:
У горњем примеру дефинисали смо класу под називом МиЦласс. Има приватни метод који се зове __привате_метход. Овај метод се позива из конструктора класе (__инит__) користећи селф.__привате_метход(). Пошто метод има префикс двоструке доње црте, он је приватан и не може му се приступити изван класе.
Програм 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()
Излаз:
Објашњење:
Достављени код дефинише класу БанкАццоунт са методама за депоновање и повлачење средстава, приказ стања рачуна и штампање извода рачуна. Затим се креира инстанца ове класе и са њом се врше неке трансакције, након чега следи штампање изјаве.
Предности приватних метода у Питхон-у
Недостаци приватних метода у Питхон-у
Закључак
Приватне методе у Питхон-у су корисна функција која може помоћи у постизању инкапсулације и побољшању могућности одржавања кода. Иако имају неке недостатке, предности коришћења приватних метода у Питхон-у су веће од недостатака.