Volver a la página principal
miércoles 12 febrero 2025
10

Diferencia entre un método y una función en Python

En Python, una función y un método pueden parecer similares, ya que ambos ejecutan código y pueden recibir argumentos, pero hay diferencias clave en dónde y cómo se utilizan.

1. ¿Qué es una función?

Una función en Python es un bloque de código reutilizable que se define con def y se puede llamar en cualquier parte del código.

Características de una función

✅ No está ligada a una clase u objeto.

✅ Se puede llamar de forma independiente.

✅ Puede recibir argumentos y devolver valores.

Ejemplo de función en Python

def suma(a, b):
    return a + b

resultado = suma(5, 3)
print(resultado)  # Salida: 8

2. ¿Qué es un método?

Un método es una función que está asociada a un objeto y se define dentro de una clase.

Características de un método

✅ Siempre está dentro de una clase.

✅ Recibe el parámetro self para acceder a los atributos del objeto.

✅ Se llama a través de una instancia (objeto) de la clase.

Ejemplo de método en Python

class Calculadora:
    def suma(self, a, b):
        return a + b

calc = Calculadora()  # Crear un objeto de la clase
resultado = calc.suma(5, 3)  
print(resultado)  # Salida: 8

3. Diferencias clave entre función y método

Característica Función Método
Definición Se define con def fuera de clases Se define con def dentro de una clase
Asociación No pertenece a un objeto Pertenece a un objeto (instancia de una clase)
Llamado Se llama directamente nombre_funcion() Se llama a través de un objeto objeto.metodo()
Uso de self No lo usa Usa self para acceder a atributos de la clase

4. Ejemplo comparativo

# Función normal
def saludar(nombre):
    return f"Hola, {nombre}"

print(saludar("Carlos"))  # Salida: Hola, Carlos

# Método dentro de una clase
class Persona:
    def __init__(self, nombre):
        self.nombre = nombre

    def saludar(self):  # Método accede a `self.nombre`
        return f"Hola, {self.nombre}"

p = Persona("Carlos")
print(p.saludar())  # Salida: Hola, Carlos
Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer