Size: a a a

2021 January 21

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Норм ли формат для коммитов? Если нет, то почему?

Не учитывая что я забыл прикрепить ссылку на доку.
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
У меня есть функция

def save_datetime_app_checked_inbox(datetime_now=None):

И если я указываю datetime_now в кваргументом, то его значение должно быть исключительно быть datetime.datetime.now()

Вопрс #1:

Как затайпхинтить это – указать что тут должно быть только datetime.datetime.now() ?

Вопрос #2:

Как при запуске программы выбросить ошибку, если у меня на вызове save_datetime_app_checked_inbox кваргументу datetime_now скормлен не datetime.datetime.now() при этом НЕ ПРОИЗВОДЯ САМ ВЫЗОВ save_datetime_app_checked_inbox?
источник

SK

Sergio Keler in SPb Python
Используй тернальный оператор в списке аргументов. Там можно raise сказать.
источник

SK

Sergio Keler in SPb Python
Как вариант, просто убери этот параметр, он не нужен. В функции бери нау() и всё.
источник

M

Matrix Telegram Brid... in SPb Python
Felis Chaus: Здравствуйте, такой вопрос, есть словарь. Из него надо получить пары ключ-значение, где определенное значение, допустим это число 12, это можно сделать не перебирая словарь?
источник

ВЩ

Взщз Щщщхш in SPb Python
Matrix Telegram Bridge
Felis Chaus: Здравствуйте, такой вопрос, есть словарь. Из него надо получить пары ключ-значение, где определенное значение, допустим это число 12, это можно сделать не перебирая словарь?
Не, из словаря — только обойти можно. Есть https://pypi.org/project/bidict/ , может, подойдёт.
источник

SK

Sergio Keler in SPb Python
Matrix Telegram Bridge
Felis Chaus: Здравствуйте, такой вопрос, есть словарь. Из него надо получить пары ключ-значение, где определенное значение, допустим это число 12, это можно сделать не перебирая словарь?
Да, можно.
{ a:b for a,b in словарь.items() if b!=что-то }
источник

ВЩ

Взщз Щщщхш in SPb Python
Sergio Keler
Да, можно.
{ a:b for a,b in словарь.items() if b!=что-то }
>  это можно сделать не перебирая словарь?
источник

SK

Sergio Keler in SPb Python
Взщз Щщщхш
>  это можно сделать не перебирая словарь?
это можно сделать функцией удали_по_значению(словарь, значение) и объявить решением
источник

ВЩ

Взщз Щщщхш in SPb Python
Так всё равно обход будет. Например, если там 10000 элементов, будет неприятно.
источник

SK

Sergio Keler in SPb Python
Взщз Щщщхш
Так всё равно обход будет. Например, если там 10000 элементов, будет неприятно.
да, это так.
ну и наш святой источник копипаста говорит о том же:
https://stackoverflow.com/questions/29218750/what-is-the-best-way-to-remove-a-dictionary-item-by-value-in-python
источник

АК

Артур Короткий... in SPb Python
а если использовать dict.get(key) и если не None склеивать их дальше?
источник

SK

Sergio Keler in SPb Python
а если так:
словарь.поменять_ключ_значение().pop(что-то).поменять_ключ_значение()
оно будет хотеть уникальные значения, но можно и так:
словарь_в_список().удалить_срез_найденного_и_перед_ним(что-то).список_в_словарь()
источник

SK

Sergio Keler in SPb Python
ещё вариант:
a=словрь.keys()
b=словарь.values()
i=b.index(что-то)
a.del(i)
b.del(i)
результат=dict(zip(a,b))
источник

SK

Sergio Keler in SPb Python
явного перебора нет :D
источник

R

Rushen in SPb Python
pragus
https://uneex.org/LecturesCMC

Думаю, полезно многим будет
Огромное спасибо за канал, посомтрим, а то я уже лекции CS центра и Технострима до дыр засмотрел
источник

R

Rushen in SPb Python
David Shiko
Всем привет! Давно интересует вопрос как правильно ловить и возвращать ошибки. Я пишу апишку и бывают "легитимные" ошибки вроде "пользователь не найден" или "нужна авторизация".
Я знаю 2 варианта:
1. Оберрнуть все в try / except Exception as e (для неожиданных ошибок) и все легитимные ошибки возвращать через return
2. Райзить исключения фреймворка и их же ловить (что бы они НЕ попадали в "неожиданные ошибки и не логировались".

Пример вар. 1:
try:
   if not user:
       return framework_error_obj(text='user not found error')
except Exception as e:
   # log error
   raise framework_error_obj(text='status code 503, service unavailable')

Пример вар. 2:
try:
   if not user:
       raise framework_error_obj(text='user not found error')
except framework_error_obj(error='user not found error'):
   pass
except Exception as e:
   # log error
   raise Exception('status code 503, service unavailable')
https://youtu.be/a6UtrJ4Xh-Y хорошая лекция советую
источник
2021 January 22

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Ну и дичь же, конечно.

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

То есть нет четкого механизма отображения – изменен/добавлен символ или целая строка.

Или это как-то настраивается? Я просто из села
источник

RT

Roman Tsaregorodtsev in SPb Python
🚲 Oleh Kopyl UI/UX designer
Ну и дичь же, конечно.

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

То есть нет четкого механизма отображения – изменен/добавлен символ или целая строка.

Или это как-то настраивается? Я просто из села
Добавлять запятую сразу, чтобы когда добавляешь новую строку отображалось только ее изменение
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Roman Tsaregorodtsev
Добавлять запятую сразу, чтобы когда добавляешь новую строку отображалось только ее изменение
Спасибо
источник