Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2021 January 20

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Как минимум из-за итерации по словарю для поиска значения
Почему?
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
По факту. Здесь итерирование не нужно.
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
По факту. Здесь итерирование не нужно.
Окей, как тогда тут вписаться в DRY?
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Можно сделать в стиле LBYL
text_value = text_values.get(call.data)
if text_value:
   ...


Или в стиле EAFP
try:
   text_value = text_values[call.data]
except KeyError:
   send("ты втираешь мне какую-то дичь")
else:
   ...
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Можно сделать в стиле LBYL
text_value = text_values.get(call.data)
if text_value:
   ...


Или в стиле EAFP
try:
   text_value = text_values[call.data]
except KeyError:
   send("ты втираешь мне какую-то дичь")
else:
   ...
Это вот к этому
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Словарь сам по себе здесь - хорошее решение
Но итерироваться по словарю - не лучшая идея. Потому что он был создан для того чтобы быстро получать из него значения по ключу.
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Если когда-то сталкивался с таким понятием как сложность алгоритма то поймёшь следующее объяснение:
Итерация по словарю для поиска значения работает за O(n), в то время как получение значения по ключу работает за O(1), хотя выполняют они одну и ту же задачу.
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Можно сделать в стиле LBYL
text_value = text_values.get(call.data)
if text_value:
   ...


Или в стиле EAFP
try:
   text_value = text_values[call.data]
except KeyError:
   send("ты втираешь мне какую-то дичь")
else:
   ...
Тут идея ясна, @kopyl?
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Можно сделать в стиле LBYL
text_value = text_values.get(call.data)
if text_value:
   ...


Или в стиле EAFP
try:
   text_value = text_values[call.data]
except KeyError:
   send("ты втираешь мне какую-то дичь")
else:
   ...
не то же совсем
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Если когда-то сталкивался с таким понятием как сложность алгоритма то поймёшь следующее объяснение:
Итерация по словарю для поиска значения работает за O(n), в то время как получение значения по ключу работает за O(1), хотя выполняют они одну и ту же задачу.
Что такое O(n)?
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
🚲 Oleh Kopyl UI/UX designer
Что такое O(n)?
Такая хитрая метрика скорости выполнения некоторого действия/алгоритма
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Выражает зависимость времени выполнения от количества данных. Количество данных собственно обозначается как n
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
🚲 Oleh Kopyl UI/UX designer
не то же совсем
Тебе нужно получить текст из доступных вариантов и если варианты есть то сделать какую-то суету (там vars().что-то), так ведь?
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Тебе нужно получить текст из доступных вариантов и если варианты есть то сделать какую-то суету (там vars().что-то), так ведь?
Не понимаю(
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
🚲 Oleh Kopyl UI/UX designer
Не понимаю(
Если ты вместо многоточия поставишь свой update_inline_keyboard_... и заменишь этим кодом свой текущий цикл for то это будет работать так же как то что ты фором наколдовал👌
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Бензофуран Гетероцикл
Если ты вместо многоточия поставишь свой update_inline_keyboard_... и заменишь этим кодом свой текущий цикл for то это будет работать так же как то что ты фором наколдовал👌
Мне нужно заменить имя ключа аргумента
источник

БГ

Бензофуран Гетероцик... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
0_о
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Решил
источник

Г

Георгий in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Доброго времени суток всем
источник

Г

Георгий in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Ребята я хочу стать программистом. Но я делю только первые шаги, так сказать . Помогите пожалуйста
источник