Найти - Пользователи
Полная версия: как определить тип переменной?
Начало » Python для новичков » как определить тип переменной?
1
qman
есть процедура
def proc(a)
как в процедуре написать условие что переменная a является целым числом, строкой, или не определена?
$m1t
как то так:
>>> a = 1
>>> type(a)
type 'int'
>>> a = "A!"
>>> type(a)
type 'str'
а если переменная неопределена то при попытке к ней обратится вылезет exception, который можно обработать:
try:
type(b)
except:
print "hadling exception..."
>>> hadling exception…
shiza
def proc(a):
if type(a) == str:
print 'str'
elif type(a) == int:
print 'int'
elif a == None:
print 'NoneType'
То что переменная неопределна:
try:
a
except NameError:
print 'a - not define'
Но в данном случае переменная не может быть неопределена (ИМХО). Иначе как ее в функцию передали?
Александр Кошелев
if isinstance( a, int ):
  #int
elif isinstance( a, basestring ):
  #str or unicode
elif a is None:
  #None
FishHook
 elif isinstance( a, basestring ):

Поправка, basestring есть только во втором питоне, в третьем делаем так
 elif isinstance( a, str):


4kpt_IV
FishHook
Ты год сообщения глянь. Не понятно чего оно вылезло. Тогда еще 3 не было
FishHook
Чудеса какие-то происходят!
Rodegast
Чудес не бывает. Просто кто-то написал здесь сообщение и потом его удалил. Вот тема и поднялась.
4kpt_IV
Когда я вижу таки посты вспоминаю цитату из песни Сектора Газа “Мой папаша некрофил, моя мамаша вампириха”…
recidivist
 def proc(a):
    print(type(a))
Правда вылезет что то вроде
 <class 'str'>
<class 'int'>
<class 'float'> # итд

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB