Як подивитися тип змінної - беззнаковий 32 біт, знаковий 16 біт і т.д.?
Як його переглянути?
Можливо, ви шукаєте функцію type()
.
Дивіться приклади нижче, але в Python немає типу unsigned, як і в Java.
Натуральне число:
>>> v = 10
>>> type(v)
<type 'int'>
Велике натуральне число:
>>> v = 100000000000000
>>> type(v)
<type 'long'>
Негативне ціле число:
>>> v = -10
>>> type(v)
<type 'int'>
Буквена послідовність символів:
>>> v = 'hi'
>>> type(v)
<type 'str'>
Ціле число з плаваючою комою:
>>> v = 3.14159
>>> type(v)
<type 'float'>
print type(variable_name)
Я також настійно рекомендую інтерактивний інтерпретатор IPython при вирішенні подібних питань. Він дозволяє вам ввести ім'я_змінної?
і поверне весь список інформації про об'єкт, включаючи тип і рядок doc для цього типу.
Наприклад
In [9]: var = 123
In [10]: var?
Type: int
Base Class: <type 'int'>
String Form: 123
Namespace: Interactive
Docstring:
int(x[, base]) -> integer
Перетворити рядок або число у ціле число, якщо це можливо. Аргумент з плаваючою комою буде усічено до нуля (це не стосується рядка представлення числа з плаваючою комою!). При перетворенні рядка використовуйте необов'язкову основу. Помилкою є задавання основи при перетворенні не-рядка не-рядка. Якщо аргумент знаходиться за межами цілочисельного діапазону, то замість нього буде повернутий довгий об'єкт буде повернутий довгий об'єкт.
Питання дещо неоднозначне - я не впевнений, що ви маєте на увазі під "переглядом". Якщо ви намагаєтесь запитати тип власного об'єкту Python, то відповідь @atzz'направить вас у правильному напрямку.
Однак, якщо ви намагаєтесь генерувати об'єкти Python, які мають семантику примітивних C-типів, (таких як uint32_t
, int16_t
), використовуйте модуль struct
. Таким чином можна визначити кількість бітів у заданому примітиві типу C:
>>> struct.calcsize('c') # char
1
>>> struct.calcsize('h') # short
2
>>> struct.calcsize('i') # int
4
>>> struct.calcsize('l') # long
4
Це також відображено в модулі array
, який може створювати масиви з цих типів нижчого рівня:
>>> array.array('c').itemsize # char
1
Максимальне ціле число, що підтримується (Python 2's int
) задається параметром sys.maxint.
>>> import sys, math
>>> math.ceil(math.log(sys.maxint, 2)) + 1 # Signedness
32.0
Існує також sys.getsizeof, яка повертає фактичний розмір об'єкту Python у залишковій пам'яті:
>>> a = 5
>>> sys.getsizeof(a) # Residual memory.
12
Для даних з плаваючою комою та прецизійних даних використовуйте sys.float_info:
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.2204460492503131e-16, radix=2, rounds=1)