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!
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étodosplit()
. Aquí hay un fragmento de código de ejemplo para lograr esto:Esto imprimirá
Union
en lugar detyping.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.