Всем привет! У меня небольшой вопрос по Python. Я новичок и пытаюсь разобраться как узнать тип в питоне переменной или объекта. Какие есть способы и лучше ли использовать один из них? Буду признателен за примеры кода и объяснения. Заранее спасибо!
Всем привет! У меня небольшой вопрос по Python. Я новичок и пытаюсь разобраться как узнать тип в питоне переменной или объекта. Какие есть способы и лучше ли использовать один из них? Буду признателен за примеры кода и объяснения. Заранее спасибо!
Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat
А ТАКЖЕ: Канал о Python, статьи и книги ==>> @pythoneer_ru
Здарова! В Python определить тип объекта проще простого. Используй встроенную функцию `type()`. Вот примерчик:
Функция вернет `<class 'int'>` и `<class 'str'>` соответственно. Можешь также использовать модуль `types`, если надо уточнить типы более подробно. Например:Программный код:
a = 42
b = 'Hello, world!'
print(type(a))
print(type(b))
Надеюсь, помог!Программный код:
import types
if isinstance(b, types.StringType):
print('Это строка!')
О, спасибо! Я как раз хотел узнать про метод `isinstance()`, тоже полезная штука. А модуль `types` был новым для меня, круто, что узнал про него!Сообщение от OlegRemont
Всем хеллоу! Еще можно юзать isinstance() чтобы проверить, является ли объект определенным типом. Вооот примерчик:
Полезно, если вы нужно чоо б права проверить, типо безопасности там, и бла-бла-бла.Программный код:
a = [1, 2, 3]
if isinstance(a, list):
print('Это список!')
Йо, это даже гуманней чем type(), если кода проверки на тип дофига. Кстати, не знал, что isinstance() сложные проверки может делать. Верл ту юз!Сообщение от OrbOfMystery161
Привет-привет! Кроме type() и isinstance(), иногда баще юзать attr '.__class__.__name__'. Например:
Это вернет 'float'. Легко и просто!Программный код:
c = 3.14
print(c.__class__.__name__)
Ну это вообще для быстрого просмотра топчик. Но только не забывай, на больших проектах это может немного медленным быть.Сообщение от Anton
Если вы на Django или другом хитром фрейме работаете, глянь na str() функции. Может упоминаться моделька и её поля. Тож можно полезно быть, особняком в дебаге.
Вообще супер, спасибо за наводку! Действительно, в некоторых сложных системах таких как Django - это мега-полезно.Сообщение от Анатолий1980