TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #14 · 11 јан.

Не удержался и решил показать пример как можно записать код из поста про if-else еще короче, буквально в одну строку! value = any((get_new_value(i) for i in array)) or get_default() Тут стоит знать две особенности функций any/all и операторов or/and. 1.Эти операторы не возвращают тип bool Они только делают преобразование данных в этот тип на момент сравнения. 2. Как именно устроена логика? В какой момент сработает return? any() - возвращает первый элемент, который преобразовался в True или последний элемент all() - возвращает первый элемент, который преобразовался в False или последний элемент or и and делают аналогично, только для двух операндов Но все они возвращают именно исходное значение, а не bool! Ну а наличие генератора позволяет не выполнять лишних операций, только до момента нахождения нужного значения. Если значение так и не найдено, оператор or запустит функцию get_default(). PS. Несмотря на возможность записать таким образом, я призываю всегда отдавать предпочтение понятности кода, а не краткости. Если про понятность не понятно, делаемimport thisи читаем, читаем, читаем... #tricks

Hashtags

Резултати

Пронајдени 1 слични објави

Глобално пребарување

sudo recast

@sudo_recast · Post #918 · 17.04.2025 г., 09:47

A useful command when you encounter conflicts while cherry-picking: tig HEAD $(git rev-parse CHERRY_PICK_HEAD 2>/dev/null) -- $(git diff --name-only --diff-filter=U | head -1) #tricks@sudo_recast

Hashtags