В прошлой части мы узнали, как Python ищет переменные по правилам LEGB.
Сегодня разберём, как можно менять переменные вне текущей функции — с помощью
nonlocal
и global
.nonlocal
— используется, если мы внутри вложенной функции хотим изменить переменную из внешней функции, а не создавать новую локальную:def outer():
x = 10
def inner():
nonlocal x
x += 1
inner()
print(x) # 11
Без nonlocal, x += 1 создало бы новую локальную x, и outer напечатал бы 10.
global
— используется, если мы хотим изменить переменную из глобальной области видимости:x = 5
def change():
global x
x = 99
change()
print(x) # 99
Без global, внутри change() была бы создана новая локальная x, и глобальная x осталась бы равной 5.
Подытожим:
nonlocal
работает только во вложенных функциях, global
— для переменных на уровне модуля.tags: #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
❤49👍9🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62😁43❤9👍3
Что выведет код сверху?
Anonymous Quiz
43%
['A', 'BCD']
25%
['ABCD']
24%
['A', 'B', 'C', 'D']
9%
Ошибка
👍29🔥12❤5🤣1
В статье пошагово объясняется, как создать свой первый REST API с помощью FastAPI и Uvicorn.
Автор показывает, как реализовать базовые HTTP-методы (
GET
, POST
, PUT
, DELETE
), настроить валидацию через Pydantic и сгенерировать документацию для тестирования.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥8👍5🤔1👨💻1
Что произойдёт, если в
try
вызвать return
, а в finally
— тоже return
?Ответ:
Это происходит потому, что finally всегда выполняется после try и catch, но перед фактическим возвратом значения. Если в finally есть свой return, он окончательно определяет результат метода.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤9
На сайте собрано более 300 апи для разных сервисов: от GitHub и Postman до новостных и погодных.
Всё отсортировано по категориям с подробным описанием, лимитами, требованиями к аутентификации и ссылками на документацию.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥5❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62🤣41😁14🏆3
Чем отличается HTTP от HTTPS ?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥6😁2❤1
В статье разбирается, как устроены конструкторы в Python и зачем они нужны при создании объектов.
Даётся целостное представление о том, как они работают, какие задачи решают и как использовать их в реальных проектах.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁88❤9👍1
Почему в
asyncio
не стоит использовать time.sleep()
?Ответ:
Вместо time.sleep() в асинхронных функциях необходимо использовать await asyncio.sleep(). Этот вызов не блокирует выполнение других задач, а передает управление обратно в event loop, позволяя другим корутинам выполняться во время ожидания.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥7❤6
В статье показано, как пошагово создать классический Тетрис с помощью библиотеки Pygame.
Автор разбирает логику игры, делится исходным кодом и объясняет, как всё устроено внутри.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍7❤4😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁73🔥6👍3🤯2
Можно ли в Python переопределить оператор + для своего класса?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍11❤7
В статье показано, как превратить простой таймер в многопоточную программу, способную выполнять несколько задач одновременно.
Автор объясняет, как использовать модуль threading, чтобы запускать напоминания параллельно и не блокировать выполнение остального кода.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥5❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁60🤣32🔥7
Что делают
globals()
и locals()
?Ответ:
Они полезны для динамического анализа, отладки, метапрограммирования и при работе с eval() / exec().
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3
В статье подробно разбирается как создать групповой чат с использованием WebSocket на FastAPI.
Автор подробно объясняет, как реализовать серверную и клиентскую части, а также как развернуть проект на сервере.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👻54👍31😁19❤5🔥1