Introducción
En Python, un método privado es un método que no está destinado a usarse fuera de la clase en la que está definido. Estos métodos se indican con un prefijo de guión bajo doble (__) antes de su nombre y solo se puede acceder a ellos dentro de la clase donde están definidos. En este artículo, discutiremos el concepto de métodos privados en Python, sus ventajas y desventajas y cómo usarlos con ejemplos.
¿Qué es un método privado en Python?
Un método privado es un método que no está destinado a ser utilizado fuera de la clase en la que está definido. Estos métodos se utilizan para implementar la funcionalidad interna dentro de la clase. Estos no están destinados a ser utilizados por código externo. En Python, los métodos privados se indican con un prefijo de doble guión bajo antes de su nombre.
Ejemplo
__method_name
¿Cómo definir un método privado en Python?
Cuando el programador quiere definir un método privado en Python, debe agregar un prefijo de guión bajo doble antes del nombre del método. Aquí hay un ejemplo:
Programa 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()
Producción:
Explicación:
En el ejemplo anterior, hemos definido una clase llamada MyClass. Tiene un método privado llamado __private_method. Este método se llama desde el constructor de la clase (__init__) usando self.__private_method(). Dado que el método tiene un prefijo de guión bajo doble, es privado y no se puede acceder a él fuera de la clase.
Programa 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()
Producción:
Explicación:
El código proporcionado define una clase BankAccount con métodos para depositar y retirar fondos, mostrar el saldo de la cuenta e imprimir un estado de cuenta. Luego se crea una instancia de esta clase y se le realizan algunas transacciones, seguido de la impresión de una declaración.
Ventajas de los métodos privados en Python
Desventajas de los métodos privados en Python
Conclusión
Los métodos privados en Python son una característica útil que puede ayudar a lograr la encapsulación y mejorar la capacidad de mantenimiento del código. Si bien tienen algunas desventajas, los beneficios de utilizar métodos privados en Python superan los inconvenientes.