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.

Imprimiendo el nombre no calificado de un genérico como Union en Python.

¿Cómo imprimiría el nombre no calificado de un tipo genérico en Python?

Ejemplo:

print(Union.name)

Lleva a: AttributeError: el objeto ‘& # 39; _SpecialForm & # 39;’ no tiene el atributo ‘& # 39; name & # 39;’

print (str (Union))

Conduce a: ‘& # 39; typing.Union & # 39;’

Solo quiero: ‘& # 39; Unión & # 39;’

¡Gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para imprimir el nombre no calificado de un tipo genérico en Python, se puede utilizar el atributo __name__ combinado con el método split(). Aquí hay un fragmento de código de ejemplo para lograr esto:

    from typing import Union
    
    print(Union.__name__.split('.')[-1])
    

    Esto imprimirá Union en lugar de typing.Union.

    Explicación: el atributo __name__ retorna el nombre calificado del tipo, incluyendo el nombre del paquete. Por lo tanto, al dividir la cadena usando '.' como delimitador y tomar el último elemento de la lista resultante, obtendremos el nombre no calificado del tipo.

Comments are closed.