es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo resolver el tipo indefinido en el archivo pyi?

Estoy creando manualmente un archivo pyi para una de mis clases y uno de los tipos de retorno de una de sus funciones depende de un enumerado que hice en otro archivo.

Extractos relevantes del código:

Board.pyi

class Board:
    def access(self, i: int, j: int) -> Color: ...

Donde Color es el enumerado. Para resolver el hecho de que Color no está definido en el archivo pyi, ¿debo importarlo simplemente desde Color.py / Color.pyi o hay otra solución detallada en PEP?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según PEP 484, se recomienda importar tipos desde su módulo fuente en lugar de definirlos en el módulo actual. Por lo tanto, en tu caso, sería mejor importar la enumeración Color desde su módulo fuente (ya sea Color.py o Color.pyi) en el archivo Board.pyi, de la siguiente manera:

    from typing import List
    from Color import Color
    
    class Board:
        def access(self, i: int, j: int) -> Color: ...
    

    De esta manera, te aseguras de que la pista de tipo para Color sea consistente en todos los módulos y que cualquier cambio realizado en la enumeración Color se refleje en todos los módulos que la utilicen.

Comments are closed.