Говоря, что тип данных, что, Python - PullRequest
0 голосов
/ 07 февраля 2011

Я хотел бы иметь возможность определить, является ли переменная int или не использует оператор if в Python.Как бы я пошел по этому поводу.

Ответы [ 4 ]

5 голосов
/ 07 февраля 2011

Использование isinstance:

if isinstance(var, int):
  print "Int"
elif isinstance(var, str):
  print "Str"
else:
  print "Other:", type(var)
3 голосов
/ 07 февраля 2011
if isinstance(x,int):
 print 'win'
2 голосов
/ 07 февраля 2011

Вам просто нужно использовать isinstance:

value = 123
if isinstance(value, int):
    print "Int"
else:
    print "Not Int"
0 голосов
/ 02 июня 2013

Если вопрос заключается в том, чтобы определить, связана ли переменная с int или значением любого производного типа , поэтому isinstance является решением ...

... но он не различает, скажем, int и bool. В Python 3:

>>> isinstance(123, int)
True
>>> isinstance(True, int)
True
>>> isinstance(123, bool)
False
>>> isinstance(True, bool)
True

Если вам действительно нужно знать, является ли значение int и ничем иным, type() должен быть подходящим способом:

>>> type(123)
<class 'int'>
>>> type(123) == int
True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...