logo

Приватний метод Python

вступ

У Python приватний метод — це метод, який не призначений для використання поза класом, у якому він визначений. Ці методи позначаються подвійним префіксом підкреслення (__) перед їх назвою, і доступ до них можливий лише в межах класу, де вони визначені. У цій статті ми збираємося обговорити концепцію приватних методів у Python, їхні переваги та недоліки, а також як їх використовувати з прикладами.

Що таке приватний метод у Python?

Приватний метод — це метод, який не призначений для використання поза класом, у якому він визначений. Ці методи використовуються для реалізації внутрішньої функціональності всередині класу. Вони не призначені для використання зовнішнім кодом. У Python приватні методи позначаються подвійним префіксом підкреслення перед їх назвою.

підручники по java

приклад

 __method_name 

Як визначити приватний метод у Python?

Коли програміст хоче визначити приватний метод у Python, йому потрібно додати подвійний префікс підкреслення перед назвою методу. Ось приклад:

Програма 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() 

Вихід:

Приватний метод Python

Пояснення:

У наведеному вище прикладі ми визначили клас під назвою MyClass. Він має приватний метод під назвою __private_method. Цей метод викликається з конструктора класу (__init__) за допомогою self.__private_method(). Оскільки метод має подвійний префікс підкреслення, він є приватним і не може бути доступний поза класом.

Програма 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() 

Вихід:

Приватний метод Python

Пояснення:

сканер далі

Наданий код визначає клас BankAccount із методами внесення та зняття коштів, відображення балансу рахунку та друку виписки з рахунку. Потім створюється екземпляр цього класу, і з ним виконуються деякі транзакції, після чого друкується оператор.

Переваги приватних методів у Python

    Інкапсуляція:Приватні методи допомагають досягти інкапсуляції. Це фундаментальний принцип об'єктно-орієнтованого програмування. Роблячи певні методи приватними, програміст може контролювати, як зовнішній код отримує доступ до внутрішньої функціональності класу. Це робить клас більш безпечним і допомагає запобігти небажаним змінам у поведінці класу.Повторне використання коду:Приватні методи можна використовувати для реалізації внутрішньої функціональності, яку можна повторно використовувати в межах класу. Це може допомогти зменшити дублювання коду та підвищити зручність обслуговування коду.Легке налагодження:Приватні методи доступні лише в межах класу, що полегшує налагодження коду завдяки ізоляції поведінки класу.

Недоліки приватних методів у Python

    Обмежений доступ:Приватні методи доступні лише в класі, у якому вони визначені. Це означає, що якщо програмісту потрібно отримати доступ до функціональних можливостей приватного методу поза межами класу, то йому потрібно створити публічний метод, який викликає приватний метод. Це може додатково ускладнити код.Помилкове відчуття безпеки:Приватні методи Python не є насправді приватними. До них все ще можна отримати доступ поза класом за допомогою синтаксису _classname__methodname(). Однак це вважається поганою практикою, і її слід уникати.Підвищена складність:Використання приватних методів може збільшити складність коду, ускладнивши його розуміння та підтримку. Це особливо вірно, якщо приватні методи погано задокументовані.

Висновок

Приватні методи в Python є корисною функцією, яка може допомогти досягти інкапсуляції та покращити підтримку коду. Хоча вони мають певні недоліки, переваги використання приватних методів у Python переважують недоліки.