Уведомления

Группа в Telegram: @pythonsu

#1 Март 20, 2008 13:27:49

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как определить тип переменной?

есть процедура

def proc(a)
как в процедуре написать условие что переменная a является целым числом, строкой, или не определена?



Офлайн

#2 Март 20, 2008 13:46:10

$m1t
От:
Зарегистрирован: 2006-12-31
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

как определить тип переменной?

как то так:

>>> a = 1
>>> type(a)
type 'int'
>>> a = "A!"
>>> type(a)
type 'str'
а если переменная неопределена то при попытке к ней обратится вылезет exception, который можно обработать:
try:
type(b)
except:
print "hadling exception..."
>>> hadling exception…



Отредактировано (Март 20, 2008 13:51:34)

Офлайн

#3 Март 20, 2008 14:01:36

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

как определить тип переменной?

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'
Но в данном случае переменная не может быть неопределена (ИМХО). Иначе как ее в функцию передали?



Офлайн

#4 Март 20, 2008 14:47:17

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

как определить тип переменной?

if isinstance( a, int ):
  #int
elif isinstance( a, basestring ):
  #str or unicode
elif a is None:
  #None



Офлайн

#5 Фев. 10, 2017 08:49:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как определить тип переменной?

 elif isinstance( a, basestring ):

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




Офлайн

#6 Фев. 10, 2017 09:34:13

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

как определить тип переменной?

FishHook
Ты год сообщения глянь. Не понятно чего оно вылезло. Тогда еще 3 не было

Офлайн

#7 Фев. 10, 2017 10:41:57

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как определить тип переменной?

Чудеса какие-то происходят!



Офлайн

#8 Фев. 10, 2017 10:44:11

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2828
Репутация: +  185  -
Профиль   Отправить e-mail  

как определить тип переменной?

Чудес не бывает. Просто кто-то написал здесь сообщение и потом его удалил. Вот тема и поднялась.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#9 Фев. 10, 2017 11:16:02

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

как определить тип переменной?

Когда я вижу таки посты вспоминаю цитату из песни Сектора Газа “Мой папаша некрофил, моя мамаша вампириха”…

Офлайн

#10 Фев. 12, 2017 21:04:03

recidivist
Зарегистрирован: 2017-02-12
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

как определить тип переменной?

 def proc(a):
    print(type(a))
Правда вылезет что то вроде
 <class 'str'>
<class 'int'>
<class 'float'> # итд

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version