← Volver
Por ejemplo, si queremos crear una clase
Y se utiliza como cualquier otra clase:
Sin el decorador, habríamos de hacerlo de la forma tradicional:
Como se trata de una clase normal, podemos también agregar métodos:
El decorador @dataclass
dataclass
es un decorador dentro del módulo estándar dataclasses
, incorporado en Python 3.7. Pretende facilitar la creación de clases cuyo objetivo principal es representar información.Por ejemplo, si queremos crear una clase
Language
que represente el nombre (name
) de un lenguaje de programación y la fecha en la que fue creado (born
), hacemos:from dataclasses import dataclass
@dataclass
class Language:
name: str
born: int
Y se utiliza como cualquier otra clase:
lang1 = Language("Python", 1989)
lang2 = Language(name="Elixir", born=2012)
print(lang1.name)
print(lang1.born)
print(lang2.name)
print(lang2.born)
Sin el decorador, habríamos de hacerlo de la forma tradicional:
class Language:
def __init__(self, name: str, born: int):
self.name = name
self.born = born
Como se trata de una clase normal, podemos también agregar métodos:
from dataclasses import dataclass
import datetime
@dataclass
class Language:
name: str
born: int
@property
def years_since_born(self) -> int:
return datetime.datetime.now().year - self.born
lang1 = Language("Python", 1989)
print(lang1.name, "fue creado hace", lang1.years_since_born, "años.")
👨💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.
🐍 También te puede interesar:
💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.