2075 Stimmen

Wie bestimmt man den Typ einer Python-Variablen?

Wie kann ich den Typ einer Variablen erkennen? (z. B. unsigned 32 bit)

24voto

rob Punkte 35132

Meinen Sie in Python oder mit ctypes ?

Im ersten Fall geht das einfach nicht, weil Python keine 16/32-Bit-Ganzzahlen mit und ohne Vorzeichen kennt.

Im zweiten Fall können Sie type() :

>>> import ctypes
>>> a = ctypes.c_uint() # unsigned int
>>> type(a)
<class 'ctypes.c_ulong'>

Für weitere Informationen über ctypes und seinen Typ, siehe die offizielle Dokumentation .

18voto

atzz Punkte 16542

Python hat solche Typen, wie Sie sie beschreiben, nicht. Es gibt zwei Typen, die zur Darstellung ganzzahliger Werte verwendet werden: int was dem Typ int der Plattform in C entspricht, und long ist eine Ganzzahl mit beliebiger Genauigkeit (d. h. sie wächst nach Bedarf und hat keine Obergrenze). int s werden stillschweigend umgewandelt in long wenn ein Ausdruck ein Ergebnis liefert, das nicht in int .

16voto

Priyansh Punkte 1048

Einfach, für Python 3.4 und höher

print (type(variable_name))

Python 2.7 und höher

print type(variable_name)

13voto

Benjamin Peterson Punkte 16442

Es kommt wirklich darauf an, welches Niveau Sie meinen. In Python 2.x gibt es zwei Integer-Typen, int (gezwungenermaßen sys.maxint ) und long (unbegrenzte Genauigkeit), aus historischen Gründen. Im Python-Code sollte dies keinen Unterschied machen, da der Interpreter automatisch in long konvertiert, wenn eine Zahl zu groß ist. Wenn Sie wissen wollen, welche Datentypen der zugrundeliegende Interpreter tatsächlich verwendet, ist das von der Implementierung abhängig. (Die CPython-Typen befinden sich in Objects/intobject.c und Objects/longobject.c.) Um etwas über die Systemtypen herauszufinden, schauen Sie sich die Antwort von cdleary zur Verwendung des struct-Moduls an.

11voto

Prince Dhadwal Punkte 245

Für Python2.x, verwenden Sie

print type(variable_name)

Für Python3.x, verwenden Sie

print(type(variable_name))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X