Table of Contents
Cómo pasar datos a una clase en Python: 2 métodos explicados con ejemplos
Si estás aprendiendo programación en Python, es normal preguntarte cuál es la mejor forma de pasar información a una clase. En este artículo te explico, de manera sencilla, las dos opciones más comunes:
- Solicitar los datos por consola con
input() - Enviar los datos como argumentos dentro de un método
Ambas formas son válidas, pero cada una tiene ventajas según el tipo de programa que estés desarrollando. Vamos a verlas paso a paso con ejemplos prácticos.
1. Pasar argumentos a una clase usando input()
En este primer método, el propio usuario escribe los datos en la consola. La clase se encarga de pedirlos y guardarlos.
Ejemplo:
class Alumno:
def __init__(self):
self.nombre = ""
self.edad = 0
def insertarDatos(self):
self.nombre = input("Hola, ingresa tu nombre: ")
self.edad = int(input("Ingresa ahora tu edad: "))
def mostrarDatos(self):
print(f"Hola {self.nombre}, tu edad es {self.edad}")
alumnoAntonio = Alumno()
alumnoAntonio.insertarDatos()
alumnoAntonio.mostrarDatos()
¿Cuándo usar esta opción?
- Cuando quieres interacción directa con el usuario.
- Ideal para programas sencillos y pruebas.
- Perfecto para ejercicios de aprendizaje.
2. Pasar los datos como argumentos dentro de una función
En este caso, no se pide nada por consola. Los datos se envían directamente al método encargado de guardarlos.
Este enfoque es más limpio, controlado y profesional, especialmente en aplicaciones grandes.
Ejemplo:
class Profesor:
def __init__(self):
self.nombre = ""
self.edad = 0
def datosProfesor(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def mostrarDatos(self):
print(f"Hola profesora {self.nombre}, tu edad es {self.edad}")
profesorAntonio = Profesor()
profesorAntonio.datosProfesor("Belen", 23)
profesorAntonio.mostrarDatos()

¿Cuándo usar esta opción?
- Cuando los datos vienen de otro módulo, archivo, formulario o base de datos.
- Cuando quieres mayor control y limpieza en tu código.
- Ideal para proyectos reales o profesionales.
Hola ingresa tu nombre juan
Ingresa ahora tu edad 34
Hola juan, tu edad es 34
Hola profesora Belen, tu edad es 23
¿Cuál método es mejor?
Depende del objetivo:
| Método | Ideal para | Ventajas |
|---|---|---|
input() dentro de la clase | Programas simples y educativos | Fácil y rápido de implementar |
| Argumentos en una función | Aplicaciones más avanzadas | Más profesional, limpio y reutilizable |
Ambas formas de pasar datos a una clase en Python son correctas. Si estás aprendiendo, puedes empezar con input() porque es intuitivo. Pero si buscas crear aplicaciones más complejas, te recomiendo utilizar métodos con parámetros, porque te permiten tener un código más ordenado y flexible.
Preguntas frecuentes (FAQ)
1. ¿Cuál es la forma más recomendada de pasar datos a una clase en Python?
La forma más recomendada es pasar los datos como argumentos en un método o directamente en el constructor, ya que ofrece más control, limpieza y reutilización del código.
2. ¿Puedo combinar input() con parámetros en una clase?
Sí, puedes usar ambos métodos. Por ejemplo, puedes pedir algunos datos con input() y otros recibirlos como argumentos, según lo necesite tu programa.
3. ¿Es obligatorio definir atributos dentro del método __init__?
No es obligatorio, pero sí es una buena práctica. Definir los atributos en __init__ ayuda a que la clase sea más clara y evita errores por variables no inicializadas.
4. ¿Qué pasa si no convierto a número el dato ingresado con input()?input() siempre devuelve un texto (string). Si necesitas operar con números, debes convertirlos usando int() o float(). Si no lo haces, el programa dará error al intentar realizar operaciones numéricas.
5. ¿Cuál es la diferencia entre un método y el constructor __init__()?__init__() se ejecuta automáticamente al crear un objeto y sirve para inicializar atributos. Un método normal, en cambio, solo se ejecuta cuando lo llamas manualmente desde el objeto.
Te puede interesar:
- Modo IA invade el buscador: ahora la búsqueda conversacional es la prioridad
- Crear un Dump, Restaurar una Base de Datos y Usar Binlogs en MySQL
- Procedimientos almacenados en MySQL: Ejemplos, cursores y casos prácticos
Seguir leyendo:




