Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 24, 2012 00:22:41

Markus
От:
Зарегистрирован: 2010-05-24
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Аргументы самопроизвольно меняют тип

class A(object):
   def __init__(self, **kwargs)
        self.__Var = kwargs["a"],
        self.__Var2 = kwargs.get("b")
   def run(self):
       print self.__Var, self.__Var2

Суть следующая есть словарь с различными типами значений, передает при создании объекта, в другом метода пытаюсь считать значения в одних случая пишет что тип строка в других возрашает кортеж… понять в чем причина не могу. Помогите товариши, может у кого возникали такие же проблемы. Возвращает ахинею ('domain',). Беру ставлю
 self.Var[ 0 ]
возращает нормально, но при создании других объектов и передачи аргументов при инициализации орет опять на типы. При pprint(kwargs) словарь нормальный без кортежей.



Отредактировано Markus (Сен. 24, 2012 00:24:06)

Офлайн

#2 Сен. 24, 2012 00:54:11

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Аргументы самопроизвольно меняют тип

        self.__Var = kwargs["a"],
Так это же и есть кортеж

Питонкапец++

Отредактировано odnochlen (Сен. 24, 2012 00:54:25)

Офлайн

#3 Сен. 24, 2012 05:46:12

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

Аргументы самопроизвольно меняют тип

Markus
class A(object):
   def __init__(self, **kwargs)
        self.__Var = kwargs["a"],
        self.__Var2 = kwargs.get("b")
   def run(self):
       print self.__Var, self.__Var2

Суть следующая есть словарь с различными типами значений, передает при создании объекта, в другом метода пытаюсь считать значения в одних случая пишет что тип строка в других возрашает кортеж… понять в чем причина не могу. Помогите товариши, может у кого возникали такие же проблемы. Возвращает ахинею ('domain',). Беру ставлю
 self.Var[ 0 ]
возращает нормально, но при создании других объектов и передачи аргументов при инициализации орет опять на типы. При pprint(kwargs) словарь нормальный без кортежей.

Все дело в лишней запятой

s = 4, # Вот она, коварная
d = 5
print type(s), type(d)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version