В asyncio распространённая практика для планирования выполнения кода с задержкой — создать задачу, которая делает await asyncio.sleep(x):
import asyncio
async def do(n=0):
pr…
Читать далее →
🆓 Ваши SQL-запросы работают, но через месяц их уже сложно прочитать и изменить?
С ростом логики запросы превращаются в набор вложенных подзапросов. Разобраться в них сложно, подд…
Читать далее →
Оператор break подавляет исключение, если используется в блоке finally, даже когда блок except отсутствует: for i in range(10): try: 1 / i finally: pr…
Оператор break подавляет исключение, если используется в блоке finally, даже когда блок except отсутствует:
for i in range(10):
try:
1 / i
finally:
print('finally')
break
print('after try')
print('after while')
Вывод:
finally
after while
То же самое верно и для continue, однако его нельзя использовать в блоке finally до версии Python 3.8:
SyntaxError: 'continue' not supported inside 'finally' clause
👉 @BookPython
Работа аналитика - уже не только про цифры!
Это про умение принимать решения быстрее других.
В 2026 году выигрывают не те, кто знает больше инструментов, а те, кто понимает, что …
Читать далее →
Если вы хотите, чтобы объекты класса имели автоинкрементируемый ID, это можно сделать, отслеживая текущий ID в атрибуте класса:
class Task:
_task_id = 0
def __init__(self…
Читать далее →