Wie bestimmt man den Typ einer Python-Variablen?
Wie erkenne ich den Typ einer Variablen, ob sie 32 Bit ohne Vorzeichen, 16 Bit mit Vorzeichen usw. hat?
Wie kann ich das sehen?
1415
3
Wie erkenne ich den Typ einer Variablen, ob sie 32 Bit ohne Vorzeichen, 16 Bit mit Vorzeichen usw. hat?
Wie kann ich das sehen?
Vielleicht suchen Sie die Funktion
type()
.Siehe die Beispiele unten, aber es gibt keinen "unsigned"-Typ in Python, genau wie in Java.
Positive Ganzzahl:
Große positive ganze Zahl:
Negative ganze Zahl:
Wörtliche Folge von Zeichen:
Fließkomma-Ganzzahl:
Ich empfehle auch den interaktiven Interpreter IPython, wenn es um Fragen wie diese geht. Er lässt Sie
Variablenname?
eingeben und gibt eine ganze Liste von Informationen über das Objekt zurück, einschließlich des Typs und des Doc-Strings für den Typ.z.B..
Konvertiert eine Zeichenkette oder eine Zahl in eine Ganzzahl, wenn möglich. Ein Fließkomma-Argument wird gegen Null abgeschnitten (dies gilt nicht für die Darstellung einer Zeichenkette Darstellung einer Fließkommazahl!) Bei der Konvertierung einer Zeichenkette ist die optionale Basis zu verwenden. Es ist ein Fehler, eine Basis anzugeben, wenn eine Nicht-Zeichenkette. Wenn das Argument außerhalb des Integer-Bereichs liegt, wird stattdessen ein Long-Objekt zurückgegeben.
Die Frage ist etwas zweideutig - ich bin nicht sicher, was Sie mit "Ansicht" meinen. Wenn Sie versuchen, den Typ eines nativen Python-Objekts abzufragen, wird die Antwort von @atzz Sie in die richtige Richtung lenken.
Wenn Sie jedoch versuchen, Python-Objekte zu generieren, die die Semantik primitiver C-Typen haben (wie
uint32_t
,int16_t
), verwenden Sie das Modulstruct
. Sie können die Anzahl der Bits in einem gegebenen primitiven C-Typ folgendermaßen bestimmen:Dies spiegelt sich auch im Modul
array
wider, das Arrays dieser untergeordneten Typen erstellen kann:Die maximal unterstützte Ganzzahl (Python 2's
int
) ist durch sys.maxint gegeben.Es gibt auch sys.getsizeof, das die tatsächliche Größe des Python-Objekts im Restspeicher zurückgibt:
Für Float-Daten und Präzisionsdaten verwenden Sie sys.float_info: