Здравствуйте, гость ( Вход | Регистрация )
|
poluna |
21.12.2015, 14:37
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: 0
|
Есть классы:
Я могу перечислить все аргументы класса SimplePacket:Вопрос, как сопоставить аргумент объекта SimplePacket с аргументом класса SimpleView?Даже если допустить, что у них имена одинаковые, без нижних подчеркиваний? |
|
|
|
![]() |
|
lanz |
21.12.2015, 15:04
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Аргументы, вы имеете ввиду аттрибуты?
Раскрывающийся текст Вообще гугл выдает только Link при поиске по словам "аргументы классов". Но такое использование вообще первый раз вижу, если не затруднит скинте ссылку на определение аттрибутов как аргументов? Cопоставить что значит? Приравнять(assign)? |
|
|
|
|
poluna |
21.12.2015, 15:24
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: 0
|
На да, путаюсь с формулировками, мне нужно такое приведение:
Но в данном коде выдается ошибка:Цитата TypeError: 'type' object has no attribute '__getitem__' Это мне нужно, чтобы не писать кучу строк вроде:
|
|
|
|
|
lanz |
21.12.2015, 15:44
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Интерпретатор говорит что объект типа "тип" нельзя использовать как dict (и он прав, нет метода __getitem__
Либо используйте __dict__, либо getattr Вообще я не гуру питона, но не лучше ли использовать списки, кортежи или те же самые словари? |
|
|
|
|
poluna |
21.12.2015, 16:16
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: 0
|
Блин, вот дура! Туплю на такой ерунде!
Нет, не лучше, у меня есть много классов вид, и классов пакет, я не знаю в какой момент и что придет, а в них в свою очереь полно полей aka аргументы - атрибуты класса. И по природной лени не хочется описывать и связывать эти много всего друг с другом, да и если добавится дополнительный аргумент, то придется все места где он используется проверять. А тут нужно добавить поля в вид и пакет и наслаждаться! |
|
|
|
|
lanz |
21.12.2015, 16:36
Сообщение
#6
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Цитата и наслаждаться! А кто мешает наслаждаться используя dict? Просто непонятно почему именно аттрибуты класса а не ключи в словаре. |
|
|
|
|
poluna |
21.12.2015, 16:51
Сообщение
#7
|
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: 0
|
Ну, как-то так исторически сложилось!
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 17:22 |