50319
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Вышел новый гайд для подготовки к техническим собеседованиям разработчиков. 😳
В нём собраны ключевые темы: паттерны проектирования, архитектура приложений, best practices и принципы чистого кода, алгоритмы и структуры данных, а также типовые вопросы по языкам и технологиям
👉 @PythonPortal
Разница между import os и from os import *
👉 @PythonPortal
Как работать с Microsoft SQL Server в Python?
Вы можете подключаться, читать и вставлять данные в SQL-базу всего несколькими строками кода на Python.
MicrosoftSQL с Python:
pip install mssql-python
import mssql_python
# Установить соединение
# Указать строку подключения
connection_string = "YOUR_CONNECTION_STRING"
connection = mssql_python.connect(connection_string)
# Выполнить запрос
cursor = connection.cursor()
cursor.execute("SELECT * from customer")
rows = cursor.fetchall()
for row in rows:
print(row)
# Закрыть соединение
connection.close()
BrOk — графический дизайнер интеграционных процессов от AXENIX
🔥 BrOk — это low-code решение для работы с брокерами сообщений (Kafka, RabbitMQ, Artemis, Redis MQ, NATS), СУБД, REST-сервисами и хранилищами данных (ETCD, Redis). Всё управление — через единый GUI, без лишних CLI-команд.
Для кого: разработчики, DevOps и QA, которые настраивают интеграции, тестируют нагрузку или управляют обменом данными.
Что умеет BrOk:
🔸 Подключение к брокерам, БД, REST-API, ETCD и Redis в одном интерфейсе
🔸 Генерация сообщений по шаблонам для тестов
🔸 Low-code сценарии с ретраями и расписанием
🔸 Поддержка Postman и OpenAPI-коллекций
🔸 Инструменты для Kafka: KsqlDB, Connect, Schema Registry
🔥 Главное — BrOk распространяется бесплатно для некоммерческого использования.
Скачайте дистрибутив на официальном сайте и упростите разработку и тестирование сложных информационных систем уже сегодня!
Реклама. ООО «Акстим Тех». ИНН 6950259732
В Python есть низкоуровневый API Protocols и Transports. Он нужен когда важен тонкий контроль над соединениями, буферами и управлением потоком данных. Подходит для TCP и UDP.
В этой статье Jacob Padilla объясняет как работают Protocols и Transports. Разбирает методы connection_made, data_received, connection_lost. Показывает создание серверов через loop.create_server и create_datagram_endpoint. Сравнивает со Streams и когда их выбирать.
В примерах есть echo-серверы для TCP и UDP. Показан flow control через pause_writing и resume_writing. Полезно когда важны задержки и много соединений. Для типовых задач чаще хватает Streams.
👉 @PythonPortal
И вот теперь ты уже не Python-разработчик, а мастер по телевизорам и настройке «вацапа» с интернетом.
👉 @PythonPortal
Принёс полезное: огромную коллекцию из 1500+ отобранных API для ваших проектов, от погоды и карт до генераторов картинок и NLP-сервисов
Забираем с сайта или с GitHub 🍯
👉 @PythonPortal
Топ-8 архитектурных стилей API
От выбора архитектуры зависит, насколько легко всё будет работать вместе.
👉 @PythonPortal
Шпаргалка по простым паттернам вывода в Python.
Слева результат, справа минимальный код на вложенных циклах for
👉 @PythonPortal
Управление глазами с помощью Python
EyeGestures — это открытая библиотека на Python для отслеживания взгляда. Использует обычные камеры, веб-камеры или камеры смартфонов, чтобы отслеживать движение глаз, фиксации и моргания, и конвертировать это в события, вроде управления курсором движением глаз
Версия на JavaScript позволяет запускать всё прямо в браузере
Установка:
$ git clone https://github.com/NativeSensors/EyeGestures.git
$ cd EyeGestures
$ pip install -r requirements.txt
python3 -m pip install eyeGestures
Шпаргалка по Git-командам
🔸Конфигурация
- git config --global user.name "Your Name"
Задаёт имя для коммитов глобально (для всех репозиториев).
- git config --global user.email "you@example.com"
Задаёт email для коммитов глобально.
- git config --list
Показывает все настройки конфигурации Git.
🔸Репозиторий и удалённые репозитории
- git init
Инициализирует новый Git-репозиторий в текущей директории.
- git clone <repo>
Создаёт локальную копию удалённого репозитория.
- git remote add <name> <url>
Добавляет новый удалённый репозиторий с именем и URL.
- git remote remove <name>
Удаляет удалённый репозиторий по имени.
- git remote rename <old-name> <new-name>
Переименовывает удалённый репозиторий.
🔸Ветки
- git branch
Список всех веток в репозитории.
- git branch <branch-name>
Создаёт новую ветку с указанным именем.
- git checkout -b <branch-name>
Создаёт новую ветку и сразу переключается на неё.
- git checkout <branch-name>
Переключается на указанную ветку.
- git merge <branch>
Сливает изменения из указанной ветки в текущую.
- git rebase <branch>
Переносит коммиты из текущей ветки поверх другой.
- git branch -d <branch-name>
Удаляет ветку, которая уже была слита.
- git branch -D <branch-name>
Принудительно удаляет ветку, независимо от её состояния.
🔸Индексация и коммиты
- git add <file>
Добавляет изменения в указанный файл в staging.
- git add .
Добавляет все изменения в текущей директории и подпапках.
- git commit -m "message"
Фиксирует проиндексированные изменения с сообщением.
- git commit --amend
Изменяет последний коммит (сообщение или содержимое).
🔸Отмена изменений
- git reset <file>
Убирает файл из staging (оставляет изменения).
- git reset HEAD~1
Отменяет последний коммит, но сохраняет изменения в рабочей директории.
🔸Просмотр изменений
- git status
Показывает состояние рабочего каталога и staging.
- git diff
Показывает различия между рабочей директорией и индексом.
- git diff --staged
Показывает различия между staged-изменениями и последним коммитом.
🔸История
- git log
Показывает историю коммитов текущей ветки.
- git log --oneline
Сокращённый лог (одна строка на коммит).
- git show <commit>
Показывает информацию о конкретном коммите.
- git blame <file>
Показывает последнюю модификацию для каждой строки файла.
🔸Stash
- git stash
Сохраняет текущие изменения во временное хранилище.
- git stash list
Список всех stash-записей.
- git stash apply
Применяет изменения из последнего stash.
- git stash drop
Удаляет конкретный stash.
- git stash pop
Применяет последний stash и удаляет его.
🔸Работа с удалённым репозиторием
- git pull
Загружает изменения из удалённого репозитория и сливает их.
- git push
Отправляет локальные коммиты в удалённый репозиторий.
- git push origin <branch>
Отправляет указанную ветку в удалённый репозиторий.
- git fetch
Загружает изменения из удалённого репозитория без слияния.
- git fetch --all
Обновляет все удалённые репозитории.
🔸Теги
- git tag <tag-name>
Создаёт тег для определённого коммита.
- git tag -a <tag-name> -m "message"
Создаёт аннотированный тег с сообщением.
- git push origin <tag-name>
Отправляет тег в удалённый репозиторий.
- git tag -d <tag-name>
Удаляет тег локально.
🔸Продвинутые команды
- git cherry-pick <commit>
Применяет изменения из указанного коммита в текущую ветку.
- git rebase -i HEAD~n
Интерактивный rebase для последних *n* коммитов.
- git reflog
Показывает журнал всех действий в репозитории.
- git bisect
Позволяет найти коммит с багом методом бинарного поиска.
- git describe
Показывает последний тег, доступный для коммита.
👉 @PythonPortal
Нужно потестить HTTPS локально в Python?
Вот простое решение в 3 шага — удобно для проверки SSL/TLS, интеграций с API или любых приложений, которым нужен HTTPS в dev-среде.
Только для локальной разработки, браузер будет ругаться на самоподписанный сертификат. 😋
Для NodeJS есть альтернатива: web.dev
👉 @PythonPortal
PyAutoGUI
Крайне любопытная библиотека языка Python, позволяющая превратить твой ПК в автоматизированную систему
За пару строчек кода можно заставить скрипт сделать скриншот, заставить мышку навести на нужную точку на экране, взаимодействовать с различными параметрами окон, написать слово или целый абзац или даже загуглить за тебя 🚬
Вот так можно создать простейший кликер:
import pyautogui
import time
def click():
time.sleep(0.1)
pyautogui.click()
def main():
for i in range(20):
click()
main()
Arduino можно использовать и в проектах компьютерного зрения.
Появился курс, который показывает, как подключить Arduino к MediaPipe для детекции лиц и OpenCV для обработки изображений.
В итоге можно собрать DIY-систему, где LCD-дисплей управляется движениями лица, а роботизированная рука реагирует на компьютерное зрение. 🤩
👉 @PythonPortal
evi-run — готовая к использованию настраиваемая мультиагентная AI-система с интеграцией в Telegram
Это легкий и функциональный фреймворк для создания как мультиагентных систем, так и простых AI-ботов в Telegram. Deploy за 5 минут через Docker и безграничная кастомизация!
Ключевые возможности:
🔸Управление памятью
🔸Планирование задач
🔸Интеллектуальный веб-поиск
🔸Глубокое исследование
🔸Работа с документами и изображениями
🔸Генерация изображений
🔸Аналитика DEX и своп токенов Solana
🔸Создание кастомных агентов
🔸Режимы: private (для себя), free (для сообщества), pay (для монетизации)
Подходит для создания AI-ассистентов, виртуальных персонажей, автоматизации саппорта, аналитиков данных, торговых агентов и многих других мультиагентных систем.
GitHub: тут
👉 @PythonPortal
Вышла крутейшая документалка про Python c Гвидо ван Россумом и другими ключевыми людьми в истории самого популярного языка программирования в мире
Это мы смотрим 🍿
@IT_Portal
Если ты начинающий, твои программы пока не слишком сложные.
Но можно добавить немного фана с фейковыми анимациями загрузки.
Это просто, даёт пространство для экспериментов и делает скрипты приятнее на вид.
import time
import sys
spinner = ['|', '/', '-', '\\']
while True:
for frame in spinner:
sys.stdout.write('\r' + frame)
sys.stdout.flush()
time.sleep(0.1)
Бесплатные ресурсы для изучения Python с помощью проектов
1. http://www.pythonchallenge.com/
2. https://www.hackerrank.com/domains/python
3. https://www.hackerearth.com/practice/python/getting-started/numbers/practice-problems/
4. https://learnpython.org/
5. https://www.w3schools.com/python/python_exercises.asp
6. http://codingbat.com/python
7. https://pythonbasics.org/exercises/
8. https://www.geeksforgeeks.org/python-programming-language/learn-python-tutorial
Узнайте, как работает асинхронное программирование в Python
Асинхронное программирование позволяет выполнять несколько задач одновременно, не блокируя основную.
Вот как это можно реализовать в Python.
Полный код в этом репо: ссылка
👉 @PythonPortal
Для чего нужны разные языки программирования
👉 @PythonPortal
Совет по чистому коду в Python:
Используй .exception() вместо .error(), чтобы в лог вместе с исключением попадал traceback
Пример:
import logging
LOGGER = logging.getLogger()
try:
{}["not_present"]
except Exception as exc:
LOGGER.error(exc) # только сообщение об ошибке
# -> 'not_present'
try:
{}["not_present"]
except Exception as exc:
LOGGER.exception(exc) # сообщение + traceback
# -> 'not_present'
# Traceback (most recent call last):
# File "my_module.py", line 12, in <module>
# KeyError: 'not_present'
Пример построения цветной столбчатой диаграммы в Python с использованием библиотеки matplotlib.
Шаг 1. Установи matplotlib
pip install matplotlib
import matplotlib.pyplot as plt
categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 15, 7, 12, 20]
colors = ['red', 'blue', 'green', 'orange', 'purple']
plt.figure(figsize=(6,4))
plt.bar(categories, values, color=colors)
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Colored Bar Graph')plt.show()
Когда все-таки согласился на пятничный деплой 😉
👉 @PythonPortal
Microsoft выпустила новый курс по MCP для Python-разработчиков.
Курс полностью бесплатный и с открытым исходным кодом.
GitHub : https://github.com/microsoft/lets-learn-mcp-python
👉 @PythonPortal
Помни, что итераторы в Python (и не только) рассчитаны на одно использование.
Когда ты прошёл по всем элементам, назад «перемотать» их нельзя.
Это поведение называется исчерпание итератора
umbers = [1, 2, 3]
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1]
print(list(reversed_numbers)) # [] — итератор уже пуст
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1] снова работает
Ещё играть не начал, а уже пройти не может
👉 @PythonPortal