Как узнать тип содержимого переменной в Python?
Есть переменная, как узнать что за ее тп. Строчка или число и тд...
Строчка - число, как строчку в данном случаи преобразовать в число?
Ответы (3 шт):
Автор решения: Алишер Ондрис
→ Ссылка
Чтобы узнать тип содержимого переменной в Python, можно использовать функцию type(). Эта функция возвращает тип объекта, который хранится в переменной.
Пример:
x = 42
print(type(x)) # Выведет: <class 'int'>
y = 3.14
print(type(y)) # Выведет: <class 'float'>
z = "Hello, world!"
print(type(z)) # Выведет: <class 'str'>
Автор решения: Sobolenko.Evgeniy
→ Ссылка
Дополню, что часто вам может понадобиться не просто узнать тип переменной, но и сравнить его с тем типом, который вы ожидаете.
Тогда вам может пригодиться встроенный метод isinstance
:
str_result=''
int_result=0
values = [42, '42']
for value in values:
if isinstance(value, int):
int_result += value
elif isinstance(value, str):
str_result += value
else:
raise TypeError('Значения должны быть строковыми или целочисленными')
Автор решения: u111
→ Ссылка
Данная функция определяет, является ли строка числом. Также это можно проверить при помощи регулярок.
def is_num(s):# s - строка
num = 0
try:
num = int(s)
except ValueError: # Не число
return False
else:
return True # Число
is_num('123') # Число
is_num('abc') # Не число
# Также можно узнать тип переменной функцией type.
type('abc') # str
type('123') # str
type(123) # int
type(1.23) # float