Всем привет, кто-нибудь работал с subprocess ? как сделать так чтобы он точно завершался, даже если в нем случится какая то исключительная ситуация ? Как можно внедриться в этот процесс ? Хотя бы в каком направлении копать ?
Всем вечера. Эстетический вопрос по поводу различных алгоритмов: стоит ли немного жертвовать читаемостью в пользу компактности кода? Чисто для примера коротенький алгоритм поиска минимума.
Всем вечера. Эстетический вопрос по поводу различных алгоритмов: стоит ли немного жертвовать читаемостью в пользу компактности кода? Чисто для примера коротенький алгоритм поиска минимума.
Ну вот в данном случае, вроде бы, читаемость не сильно упала. Но и пример, согласен, не слишком хороший. Единственно что, в питоне очень много удобных способов сокращений кода и сахара, но не всегда однозначно понятно, как будет лучше.
Взять те же компрехеншены, которые бывают выглядят очень массивно и нечитаемо, но их всё равно используют т.к. есть возможность записать всё в одну строку и ещё в скорости выиграть немного.
Всем вечера. Эстетический вопрос по поводу различных алгоритмов: стоит ли немного жертвовать читаемостью в пользу компактности кода? Чисто для примера коротенький алгоритм поиска минимума.
Если функция имеет говорящее имя, возможно ещё докстрокой подкреплена, то компактность (питоничность) ей в плюс. Чтение кода != чтение книги. Если кажется что питоничность решения схожа с магией и сложно понять, как оно работает (редкий случай имхо) наверное уточнить комментарием строку с магией лишним не будет
Если функция имеет говорящее имя, возможно ещё докстрокой подкреплена, то компактность (питоничность) ей в плюс. Чтение кода != чтение книги. Если кажется что питоничность решения схожа с магией и сложно понять, как оно работает (редкий случай имхо) наверное уточнить комментарием строку с магией лишним не будет
О, спасибо за ответ. Да, докстроки часто помогают, когда кода много и он разбит на кучу модулей.
О, спасибо за ответ. Да, докстроки часто помогают, когда кода много и он разбит на кучу модулей.
Вот когда кода много, ты ведь читаешь его по именам функций и их аргументов. На их реализацию в последнюю очередь в порядке исключения, когда она работает не так как ожидается, например
Вот когда кода много, ты ведь читаешь его по именам функций и их аргументов. На их реализацию в последнюю очередь в порядке исключения, когда она работает не так как ожидается, например
Ну, я скорее думал со стороны улучшения уже имеющегося кода, когда чтение действительно становится важно для понимания работы функций.
File "newfile.py", line 39, in search search(text) File "newfile1", line 34, in search text=str(message.text) AttributeError: 'str' object has no attribute 'text