crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> python, аргументы класса
poluna
  опции профиля:
сообщение 21.12.2015, 14:37
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.10.2015
Пользователь №: 4458

Спасибо сказали: 1 раз(а)




Репутация:   0  


Есть классы:
class SimpleView(object):
    id=0
    status=1
    name=2
    ip=3
    end=4

class SimplePacket(object):
   def __init__(self):
        self._id=None
        self._status=None
        self._name=None
        self._ip=None
Я могу перечислить все аргументы класса SimplePacket:
for k in SimplePacket().__dict__.iterkeys():
    print k
Вопрос, как сопоставить аргумент объекта SimplePacket с аргументом класса SimpleView?
Даже если допустить, что у них имена одинаковые, без нижних подчеркиваний?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lanz
  опции профиля:
сообщение 21.12.2015, 15:44
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Интерпретатор говорит что объект типа "тип" нельзя использовать как dict (и он прав, нет метода __getitem__ :lol: )
Либо используйте __dict__, либо getattr
  for k in SimplePacket().__dict__.iterkeys():
    print k
    print SimpleView.__dict__[k]
    print getattr( SimpleView, k )

Вообще я не гуру питона, но не лучше ли использовать списки, кортежи или те же самые словари?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 14:28