← 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.