Zastanawiam się, jak przekonwertować obiekt „typu” w języku Python na ciąg znaków przy użyciu funkcji refleksyjnych języka Python.
Na przykład chciałbym wydrukować typ obiektu
print "My type is " + type(someObject) # (which obviously doesn't work like this)
python
reflection
Rehno Lindeque
źródło
źródło
Odpowiedzi:
Jeśli to ci nie odpowiada, użyj tego:
Przykład:
Wydaje się również, że istnieją różnice w
type()
przypadku używania klas nowego stylu i starego stylu (czyli dziedziczenia zobject
). W przypadku klasy w nowym stylutype(someObject).__name__
zwraca nazwę, a w przypadku klas w starym stylu zwracainstance
.źródło
print(type(someObject))
spowoduje wydrukowanie pełnej nazwy (tj.co masz na myśli, mówiąc o konwersji na ciąg? możesz zdefiniować własne metody repr i str _:
lub nie wiem ... proszę dodać wyjaśnienia;)
źródło
lub...
źródło
Używanie str ()
źródło
Jeśli chcesz użyć
str()
i niestandardowej metody str . Działa to również w przypadku repr.źródło