Métodos
Parte de la sección Programación orientada a objetos del Journey de Python de Coddy. Lección 5 de 64.
Los métodos son funciones que pertenecen a una clase. Definen los comportamientos o acciones que pueden realizar los objetos.
Aquí tienes un ejemplo de una clase con métodos:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultCrea un objeto calculadora:
my_calc = Calculator()Llama a un método que no necesita parámetros:
my_calc.greet()Llama a los métodos con parámetros:
sum_result = my_calc.add(5, 3)
print(sum_result)Llama a un método que tanto imprime como devuelve un valor:
product = my_calc.multiply(4, 7)Salida:
Hello! I'm a calculator.
8
4 × 7 = 28Los métodos pueden:
- Recibir parámetros como
add(self, a, b) - Devolver valores como
return a + b - Imprimir la salida directamente como
print("Hello!") - Hacer tanto la impresión como la devolución de valores
Punto clave: Los métodos definen lo que pueden hacer tus objetos. Incluye siempre self como primer parámetro, pero no lo pases al llamar al método.
Desafío
FácilEn este desafío, implementarás un sistema bancario. Crearás una clase BankAccount en un archivo y la usarás en otro, mostrando cómo organizar tu código para que sea más fácil de mantener.
Debes trabajar con dos archivos:
- bank_account.py: aquí definirás tu clase
BankAccount - driver.py: aquí importarás la clase, crearás una cuenta y realizarás transacciones
Crea una clase BankAccount en bank_account.py con:
- Un atributo de clase
bank_nameestablecido en "Python National Bank" - Un método
depositque reciba un monto y lo sume al saldo de la cuenta - Un método
withdrawque reciba un monto y lo reste del saldo - Un método
get_balanceque devuelva el saldo actual
Después, en driver.py, importa tu clase BankAccount, crea una cuenta, deposita $100, retira $30 e imprime el saldo con el formato: f"Current balance: ${my_account.get_balance()}"
Pruébalo tú mismo
from bank_account import BankAccount
# Crea una cuenta y prueba tus métodos
my_account = BankAccount()
my_account.balance = 0 # Saldo inicial
# TODO: Realiza transacciones
# (Tu código aquí)
# TODO: Imprime el saldo final
# (Tu código aquí)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación orientada a objetos
1Fundamentos de la POO
Introducción a la POOArchivos externosClases vs. objetosEl parámetro selfMétodosAtributosMétodo constructor (__init__)Repaso: calculadora sencilla4Herencia
Herencia básicaLa función super()Sobrescritura de métodosHerencia múltipleOrden de resolución de métodosRepaso: jerarquía de empleados7Métodos especiales
Introducción a los métodos mágicosSobrecarga de operadoresMétodos mágicos de contenedoresRepaso: lista personalizada10Patrones de diseño, parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy2Decoradores
Introducción a los decoradoresDecorador de propiedadDecorador de método estáticoDecorador de método de clase5Polimorfismo
Repaso de la sobrescritura de métodosTipado patoClases y métodos abstractosDiseño de interfacesRepaso: calculadora de formas8Conceptos avanzados de POO
Composición frente a herenciaMixinsMétodos estáticos y de claseDecoradores de claseGestores de contexto11Patrones de diseño, parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón Composite3Propiedades de clase
Variables de instancia vs. variables de claseDecoradores de propiedadesAtributos privadosRepaso: gestor de cuentas bancariasPractica por tu cuenta: Compilador de Python online