Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2022 21:39:21

Richigo
Зарегистрирован: 2022-11-21
Сообщения: 9
Репутация: +  2  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Изучение Python начал недавно, поэтому вопрос может быть не совсем правильно сформирован.

Допустим, имеется большое количество объектов (кнопки и прочее), различающиеся в названии только номером. И имеется некое условие, при выполнении которого должно происходить изменение конкретного объекта (допустим, цвет или надпись кнопки). Каким образом можно реализовать код так, чтобы во время проверки условия, выполнялось данное действие, без перебора всех объектов в коде?

Офлайн

#2 Ноя. 21, 2022 22:06:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Нужно найти этот объект, перебрав все объекты, и дать ему его отдельное имя. А потом, при проверке условия, обратиться к нему уже по этому отдельному имени.



Офлайн

#3 Ноя. 21, 2022 22:44:24

Richigo
Зарегистрирован: 2022-11-21
Сообщения: 9
Репутация: +  2  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

py.user.next
Нужно найти этот объект, перебрав все объекты, и дать ему его отдельное имя. А потом, при проверке условия, обратиться к нему уже по этому отдельному имени.

В том то и дело, что я не хочу захламлять код сотней строк на каждую потенциальную кнопку. Хотелось бы что-нибудь, на подобии перебора массива, но с объектами, иначе, при генерации n объектов, будет в n строк больше, чем нужно.

Офлайн

#4 Ноя. 21, 2022 22:55:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Приведи код и опиши, что ты пытаешься сделать.



Офлайн

#5 Ноя. 21, 2022 23:26:53

Richigo
Зарегистрирован: 2022-11-21
Сообщения: 9
Репутация: +  2  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

py.user.next
Приведи код и опиши, что ты пытаешься сделать.

Кода не , то что я имел в виду я описал выше, попробую немного подробнее описать.

Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве. То есть, хот5лось бы получить что-то на подобии перебора массива со ссылкой на ту кнопку (или другой объект), который, например, имеет такойже номер в названии, как и номер ячейки массива.

Это если углубиться в описание процесса, который я хочу видеть. Если бы можно было, например, получить ссылку на объект путём объединения в строку ключевого названия объекта и номера ячейки обрабатываемой в массиве, было бы вообще шикарно, но мне такого решения не известно, поэтому и пишу тут.

Офлайн

#6 Ноя. 22, 2022 00:13:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Richigo
Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве.
Сделай дополнительную структуру данных. В ней будут храниться пары <набор данных, кнопка>. Когда надо будет передавать данные из набора данных кнопке, то просто будет задействоваться эта структура данных, которая и будет хранить информацию о том, какой набор данных с какой кнопкой связан.



Офлайн

#7 Ноя. 22, 2022 04:32:56

Richigo
Зарегистрирован: 2022-11-21
Сообщения: 9
Репутация: +  2  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

py.user.next
Опять-таки, структура данных это лишние строки кода, даже, если они не используются постоянно, хотелось бы, что-то работающее автоматически без дополнительных структур

Офлайн

#8 Ноя. 22, 2022 06:55:09

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Richigo
Кода не
Вы что программист -теоретик?
Richigo
Допустим, есть 100 кнопок button1..button100
Ну допустим есть список, в нём что-то находится по индексам, кнопка при нажатии возвращает индекс за ней закреплённый, кнопка0 - вернёт 0, объект = список[0

Отредактировано xam1816 (Ноя. 22, 2022 07:34:27)

Офлайн

#9 Ноя. 22, 2022 07:22:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

Richigo
Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве. То есть, хот5лось бы получить что-то на подобии перебора массива со ссылкой на ту кнопку (или другой объект), который, например, имеет такойже номер в названии, как и номер ячейки массива.
К номерам в названии нельзя привязываться. Когда такой код будет сделан, то будет невозможно переименовать кнопки в более удобные названия или вообще убрать названия у них и переместить их в массив какой-нибудь.

Richigo
Опять-таки, структура данных это лишние строки кода, даже, если они не используются постоянно
Это тебе кажется, что лишние строки кода - это проблема. Наоборот, проблема возникнет, когда у тебя будет короткий код в одну строчку. Когда надо будет что-то поменять или добавить, тебе придётся весь этот код стирать и писать заново с новой добавкой. Так надо будет делать каждый раз. А потом, когда таких кодов накопится несколько сотен штук, тебе придётся либо оставлять программу в старом виде всё время, либо всё время писать всю программу заново при любых мелких изменениях в её функциональности.

Представь просто машину, у которой колесо приварено, а не прикручено на болты и гайки. Если ты его проколол, то тебе надо будет выкидывать всю машину. Когда же существуют эти “лишние” болты и гайки, это колесо можно открутить и вместо него прикрутить другое колесо, новое, и ехать дальше сразу.

Такая же роль у этих отдельных структур, которые выглядят как бы лишними, но на самом деле спасут, когда потом надо будет количество кнопок увеличить или уменьшить. Никакие имена кнопок на данные и порядок этих данных влиять не будут, так как сопоставление кнопок и данных лежит на этой структуре и находится внутри неё в виде её секрета.



Отредактировано py.user.next (Ноя. 22, 2022 07:25:45)

Офлайн

#10 Ноя. 22, 2022 07:38:39

Richigo
Зарегистрирован: 2022-11-21
Сообщения: 9
Репутация: +  2  -
Профиль   Отправить e-mail  

Интересует способ обращения к объектам

xam1816
В данный момент, я хочу понять алгоритм, который можно реализовать в языке, так что, видимо, да)

Но вы немного не так поняли, на сколько я сам понял. Сам список должен содержать ссылки на кнопки, а не наоборот.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version