Búsqueda de sitios web

Crear un objeto tipo en Python similar al objeto tipo en TypeScript


¿Cómo puedo crear estos tipos de datos en Python?
Estos tipos fueron definidos en TypeScript y quiero recrearlos en Python. ¿Cómo puedo hacerlo en Python de manera fácil y correcta?

   export type Category =
    'painting'
    | 'work on paper'
    | 'print'
    | 'ceramic'
    | 'installation'
    | 'sculpture'
    | 'textile'
    | 'photograph'
    | 'other'

export type NumberedCategory = `${Category}-${number}`

export type Lexicon = { term: string, weight: number }

export type Score = { name: string, score: number, contributors: string[] }

¡Gracias!

Respuesta #1

No estoy muy familiarizado con TypeScript, pero en Python puedes crear types creando clases.

Creé un tipo Score igual al de tu ejemplo dentro de un REPL de ipython como ejemplo.

In [1]: class Score:
   ...:     def __init__(self, name: str, score: int, contributors: list):
   ...:         self.name = name
   ...:         self.score = score
   ...:         self.contributors = contributors

In [2]: isinstance(Score, type)
Out[2]: True

In [3]: score = Score("ten", 10, ["contributor1", "contributor2"])

In [4]: isinstance(score, Score)
Out[4]: True

In [5]: type(score)
Out[5]: __main__.Score

In [6]: type(Score)
Out[6]: type

Artículos relacionados