Python Developer
19.3K subscribers
1.5K photos
108 videos
5 files
1.53K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
🐍 Как управлять переменными в LEGB?

В прошлой части мы узнали, как 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: #обучение

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
49👍9🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62😁439👍3
Что выведет код сверху?
Anonymous Quiz
43%
['A', 'BCD']
25%
['ABCD']
24%
['A', 'B', 'C', 'D']
9%
Ошибка
👍29🔥125🤣1
🐍 Пишем свой первый API c помощью FastAPI

В статье пошагово объясняется, как создать свой первый REST API с помощью FastAPI и Uvicorn.

Автор показывает, как реализовать базовые HTTP-методы (GET, POST, PUT, DELETE), настроить валидацию через Pydantic и сгенерировать документацию для тестирования.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥8👍5🤔1👨‍💻1
Вопрос с собеседования

Что произойдёт, если в try вызвать return, а в finally — тоже return?

Ответ: Если в блоке try выполняется return, но в блоке finally тоже есть return, то возвращаемое значение из try будет проигнорировано. Возврат из finally перезапишет его.

Это происходит потому, что finally всегда выполняется после try и catch, но перед фактическим возвратом значения. Если в finally есть свой return, он окончательно определяет результат метода.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥369
🐍 Бесплатные API для разработки

На сайте собрано более 300 апи для разных сервисов: от GitHub и Postman до новостных и погодных.

Всё отсортировано по категориям с подробным описанием, лимитами, требованиями к аутентификации и ссылками на документацию.

Ссылка на сайт

tags: #полезное

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥52
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62🤣41😁14🏆3
Вопрос с собеседования

Чем отличается HTTP от HTTPS ?

Ответ: HTTPS — это тот же HTTP, но работающий поверх TLS (Transport Layer Security). Он шифрует весь обмен данными между клиентом и сервером, включая заголовки, тело запроса и ответы. Это защищает трафик от перехвата, подмены и атак типа «человек посередине».

tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥6😁21
🐍 Всё, что нужно знать о конструкторах

В статье разбирается, как устроены конструкторы в Python и зачем они нужны при создании объектов.

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

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁889👍1
Вопрос с собеседования

Почему в asyncio не стоит использовать time.sleep()?

Ответ: Функция time.sleep() приостанавливает выполнение всего потока, блокируя и сам asyncio-цикл. Это нарушает основную концепцию асинхронного программирования, так как в этот момент другие корутины не могут выполняться.

Вместо time.sleep() в асинхронных функциях необходимо использовать await asyncio.sleep(). Этот вызов не блокирует выполнение других задач, а передает управление обратно в event loop, позволяя другим корутинам выполняться во время ожидания.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥76
🐍 Делаем тетрис на Python

В статье показано, как пошагово создать классический Тетрис с помощью библиотеки Pygame.

Автор разбирает логику игры, делится исходным кодом и объясняет, как всё устроено внутри.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍74😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁73🔥6👍3🤯2
Вопрос с собеседования

Можно ли в Python переопределить оператор + для своего класса?

Ответ: Да. В Python операторы — это просто синтаксический сахар для вызова специальных методов (так называемых магических). Чтобы изменить поведение +, нужно определить метод __add__() в своём классе. Это позволяет задать, как объекты складываются между собой.

tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍117
🐍 Как сделать многопоточную программу?

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

Автор объясняет, как использовать модуль threading, чтобы запускать напоминания параллельно и не блокировать выполнение остального кода.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥54
Вопрос с собеседования

Что делают globals() и locals()?

Ответ:
Функции globals() и locals() возвращают словарь с переменными текущей области видимости.

▶️ globals() — это доступ ко всем глобальным именам в текущем модуле (то есть переменным, функциям и классам, определённым на верхнем уровне)

▶️ locals() — возвращает локальные переменные в текущем контексте: внутри функции, класса или блока

Они полезны для динамического анализа, отладки, метапрограммирования и при работе с eval() / exec().


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍213
🐍 Вебсокеты на FastAPI: реализация простого чата с комнатами за 20 минут

В статье подробно разбирается как создать групповой чат с использованием WebSocket на FastAPI.

Автор подробно объясняет, как реализовать серверную и клиентскую части, а также как развернуть проект на сервере.

Читать статью

tags: #статья

➡️ Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥51
Please open Telegram to view this post
VIEW IN TELEGRAM
👻54👍31😁195🔥1