Cómo crear una clase nueva en Python

| Última modificación: 4 de julio de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Entre los tipos de funciones o métodos que se pueden construir en el lenguaje de programación Python, encontramos a las clases. Cómo crear una clase nueva en Python es un proceso que deberías aprender en la primera etapa de aprendizaje del lenguaje.

Por eso, en KeepCoding te ayudaremos, gracias a este artículo, ya que a continuación te explicamos cómo crear una clase nueva en Python.

¿Qué encontrarás en este post?

Clase en Python

Una clase en Python es un elemento que pertenece a los programa de código. Según la documentación de Python, al crear una nueva clase en Python, creas un nuevo tipo de objeto al que le puedes crear instancias. Una clase se nombra con la instrucción class MiNuevaClase(): después se integrarán todas las observaciones necesarias para nuestra clase en Python, como son los constructores, elementos que todas las clases poseen, pues es la forma para instanciar objetos.

Por otro lado, al igual que las funciones, las clases también pueden probarse con el módulo de Unittest. A continuación, te contaremos cómo crear una clase nueva en Python o instanciar una clase en Python, basada en funciones establecidas sobre números romanos.

Clase RomanNumber

En otros artículos de KeepCoding hemos creado funciones para convertir números romanos en números enteros y viceversa o formas para instanciar una clase en Python, pero no hemos intentado hacer una clase de este proceso. Por tanto, a continuación, vamos a contarte cómo crear una clase nueva en Python, que pueda completar el proceso que hemos hecho con las funciones sobre los números romanos.

  1. Definir una clase en Python.
  2. Traer el diccionario que habíamos conformado de las funciones de las conversión de los números romanos a enteros y viceversa.
  3. Después de definir una clase en Python, deberás crear un constructor desde un método especial. Allí pasarán los objetos que necesitamos. Por tanto, deberás definir el valor e ingresarás el parámetro para la clase.
  4. Después, deberás definir el método del objeto de la clase y, de esta manera, crear un objeto en Python.
  5. Si quieres, para mayor entendimiento, podrás integar las funciones en la clase, para que esta sea autocontenida y cambiar los objetos a self. En esta ocasión, no integramos las funciones que se habían realizado sobre el trabajo de convertir un número entero a romano y un número romano a entero, dada su larga extensión y nivel de detalle.
    Sin embargo, le recordamos la tarea a los lectores sobre estas funciones. Es necesario transformar los objetos que reposan en cada una de las funciones por objetos de la clase RomanNumber. Esto se hace agregándole a los objetos la etiqueta de self, como se verá a continuación en la representación de los pasos acerca de crear un objeto en Python.
  6. Ya tendrás la clase RomanNumber lista y podrás acceder y jugar con ella. Por ejemplo, podrás realizar operaciones con esta clase, como la que realizamos en un anterior post sobre cómo sumar dos números romanos a través de dos métodos: add y radd.

Ahora que haz sabido cómo definir una clase en Python, verás una representación de los pasos anteriormente establecidos. Ten en cuenta que esta clase RomanNumber viene de un trabajo que se realizó para hacer funciones que convirtieran números enteros en romanos y números romanos en enteros. Por lo tanto, se importan y añaden estos ficheros a nuestra creación de la clase:

#definición de la clase
class RomanNumber
#diccionario de la función int_a_romano
conversión = {
‘millares’ : [‘ ‘, ‘M’, ‘MMM’],
‘centenas’ : [‘ ‘, ‘C’, ‘CC’, ‘CCC’, ‘CD’, ‘D’, ‘DC’, ‘DCC’, ‘DCCC’, ‘CM’]
‘millares’ : [‘ ‘, ‘M’, ‘MMM’],
‘centenas’ : [‘ ‘, ‘C’, ‘CC’, ‘CCC’, ‘CD’, ‘D’, ‘DC’, ‘DCC’, ‘DCCC’, ‘CM’]
}
#diccionario de la función romano_a_int

digitos_romanos = { "M": 100, "D" : 500, "C": 100, "L": 50, "X": 10, "V":5, "I": 1} 

#definición del constructor

#al ser un método que pertenece una clase, el primer parámetro siempre es el propio objeto

            def _ _init_ _ (self, numero):

                   if isinstance (numero, int):

                    self.valor = numero  

                    self.cadena = self.int_a_romano( )

if isinstance (numero, str):

                   self.cadena = número

                    self.valor = self.romano_a_int()           

#definir el método del objeto de la clase 

            def validar_numero(self):

#traer a colación las funciones int a romano y convertir los objetos en objetos de clase por medio de self.valor.

def int_a_romano (self):

#traer a colación intregrar función romano a int y cambiar los objetos a objetos de clase: self. 

def romano_a_int (self):

#ejecutar la clase

RomanNumber(400)

Todo este proceso de instanciar una clase en Python puede estar acompañado de la herramienta Unittest de Python, para que sigas el método de prueba y error de cada cambio que hagas sobre tu programa de código para crear un objeto en Python.

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

En definitiva, las clases son elementos fundamentales para un programa, pues desde ahí podremos crear otras instancias en nuestros programas. Por eso era tan importante que supieras cómo crear una clase nueva en Python.

Si quieras conocer más acerca de Python y sus clases, el siguiente paso sería echarle un vistazo al programa de nuestro Bootcamp Programación desde Cero. A través de los diferentes módulos llenos de contenido fundamental, podrás seguir alimentando tus conocimientos y avanzar por el camino de los lenguajes de programación. ¡Apúntate ahora!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.