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 los objetos pueden realizar.
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:
- Aceptar parámetros como
add(self, a, b) - Devolver valores como
return a + b - Imprimir resultados directamente como
print("Hello!") - Hacer tanto impresiones como devoluciones
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 archivo, demostrando cómo organizar tu código para facilitar su mantenimiento.
Debes trabajar con dos archivos:
- bank_account.py: donde definirás tu clase
BankAccount - driver.py: donde 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 recibe una cantidad y la suma al saldo de la cuenta - Un método
withdrawque recibe una cantidad y la resta del saldo - Un método
get_balanceque devuelve 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
Archivos externosIntroducción a la POOClases vs ObjetosEl parámetro selfMétodosAtributosMétodo constructor (__init__)Resumen - Calculadora simple4Herencia
Herencia básicaLa función super()Sobrescritura de métodosHerencia múltipleOrden de resolución de métodosResumen - 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 propertyDecorador de métodos estáticosDecorador de métodos de clase5Polimorfismo
Sobreescritura de métodos revisitadaDuck TypingClases y métodos abstractosDiseño de interfacesResumen - Calculadora de figuras8Conceptos avanzados de POO
Composición vs. 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 de claseDecoradores de propiedadesAtributos privadosResumen - Gestor de cuentas bancariasPractica por tu cuenta: Compilador de Python online