Pro Python • IT
4.18K subscribers
1.43K photos
145 videos
43 files
1.38K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
🧹 Забыли закрыть файл? В Python для этого есть with

Контекстные менеджеры автоматически освобождают ресурсы после выполнения блока кода.

with open("data.txt") as f:
data = f.read()

# файл уже закрыт


Не нужно вручную вызывать f.close() — Python сделает это сам, даже если внутри блока возникнет ошибка.

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

 Мы в Max – подписывайся
👍2🔥1
💻 Await в асинхронном коде — это не опция

Запускаете 10 API-запросов через asyncio, а они всё равно выполняются 10 секунд? Знакомо?

async def fetch():
return requests.get(url).json()
# ← блокирует event loop


Решение: используйте await для операций ввода-вывода. Замените requests на httpx — API похожий, но клиент действительно асинхронный.

import httpx

async def fetch():
async with httpx.AsyncClient() as client:
r = await client.get(url)
return r.json()


❗️ Теперь 10 запросов могут выполняться примерно за 1 секунду вместо 10.

 Мы в Max – подписывайся
🔥1
🚫 Тройка в двойке не жилец

В мире Python есть две большие версии, между которыми была огромная пропасть несовместимости: старый Python 2 (уже давно мертв, но «легаси-код» на нем остался) и современный Python 3.

💡Мораль: придуманная ошибка ⁠MutexError⁠ (ошибка взаимоисключения) показывают то же самое, что и на мышке: обе версии одновременно работать не могут, они конфликтуют за «слот» в одной системе.

 Мы в Max – подписывайся
2
detect smile_[@PythonTechCode].py
711 B
🙂 Исходный код программы для определения улыбки на изображении

Эта программа — небольшой пример привлекательности мира компьютерного зрения.

Для её запуска нужно установить OpenCV с помощью этой команды:
pip install opencv-python⁠


 Мы в Max – подписывайся
😁1👀1
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔥 Как узнать значения локальных переменных в любой точке функции

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

def example():
x = 10
name = "Python"
print(locals())

example()
# {'x': 10, 'name': 'Python'}


Полезно при отладке: можно быстро увидеть значения всех локальных переменных в конкретной точке выполнения.

⚠️ Используйте locals() для диагностики, а не для изменения переменных.

 Мы в Max – подписывайся
👍1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Запускаем Python-код… без Python!

Если на компьютере нет Python, код можно отправить на удалённый сервер:

fetch("https://pythonsandbox.dev/run", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({code: "print('Привет!')"})
})
.then(r => r.json())
.then(data => console.log(data.output));


Код выполняется на сервере, а результат возвращается в браузер.

⚠️ Не отправляйте туда пароли, токены и другие секретные данные.

 Мы в Max – подписывайся
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🫥 Среди разработчиков появился новый термин — «кукодинг». Так называют подход, когда ты передаёшь проект ИИ, а сам лишь наблюдаешь за тем, как он его пишет.

 Мы в Max – подписывайся
😁1