Как узнать тип содержимого переменной в 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

→ Ссылка