58174
Всё самое интересное из мира Python Связь: @devmangx РКН: https://clck.ru/3GMMF6
Visual Studio Code теперь умеет автоматически обрабатывать TODO-комментарии в коде. С новой функцией и помощью GitHub Copilot можно за два клика решать задачи и сразу создавать PR.
👉 @PythonPortal
Лайфхак для GitHub: теперь можно превращать любой репозиторий в один текстовый файл, удобный для LLM
Просто замените «hub» на «1file» в URL репозитория, и все файлы объединятся в один чистый текст. Файл можно скачать в обычном или сжатом формате.
Это позволяет дать полную контекстную информацию любому ИИ, например ChatGPT или Claude, чтобы разбирать код, отвечать на вопросы или помогать исправлять ошибки.
Идеальный способ быстрее изучать и анализировать репозитории. ✏️
👉 @PythonPortal
4 способа скопировать список в Python
В Python есть несколько способов сделать копию списка. Но важно понимать разницу между shallow copy (поверхностная копия) и deep copy (полная копия).
original = [1, 2, [3, 4]]
# 1. Срез (shallow copy)
copy1 = original[:]
# 2. Метод .copy() (shallow copy)
copy2 = original.copy()
# 3. Через list() (shallow copy)
copy3 = list(original)
# 4. deepcopy (deep copy)
import copy
copy4 = copy.deepcopy(original)
original[2].append(5)
print(copy1)
# [1, 2, [3, 4, 5]] — вложенный список изменился!
print(copy4)
# [1, 2, [3, 4]] — без изменений
Когда попросил гпт помочь в проблеме, но он добавил ещё одну проблему:
👉 @PythonPortal
Начни работу с Docker на практике
Вот подборка годных практических заданий:
Установи Docker Engine на Linux: https://labs.iximiuz.com/challenges/docker-install-on-ubuntu
Запусти свои первые контейнеры: https://labs.iximiuz.com/challenges/docker-101-container-run
Собери и опубликуй свои первые образы: https://labs.iximiuz.com/challenges/build-and-publish-container-image-with-docker
Перемещай образы между репозиториями: https://labs.iximiuz.com/challenges/copy-container-image-from-one-repository-to-another-with-docker
Памятка по f-строкам в Python
f-строки это один из самых простых и быстрых приёмов для оформления текстов в Python.
Сохраняем памятку, чтобы всегда была рядом ⌨️
Расширенный вариант здесь
👉 @PythonPortal
Пакет GeoAI для Python становится ещё умнее, скоро он будет поддерживать AI-агентов
Это значит, что вы сможете с помощью естественного языка легко загружать, анализировать и визуализировать геопространственные данные без единой строки кода 🤖
Следите за обновлениями, релиз уже скоро
GitHub: https://github.com/opengeos/geoai
👉 @PythonPortal
Python-лайфхак:
Используйте itertools.accumulate, чтобы получить итератор с накопленными суммами.
Можно передать другую бинарную функцию в качестве аргумента, тогда будут возвращаться накопленные результаты этой функции.
Пример:
import itertools
daily_revenues = [100, 120, 90, 110, 80]
# Получаем накопленную выручку
total_revenue_to_date = list(itertools.accumulate(daily_revenues))
print(total_revenue_to_date)
# Вывод: [100, 220, 310, 420, 500]
Когда аж 10 минут потратил на исправление ошибки, а она так и не исправилась
👉 @PythonPortal
Вышел AI-инструмент, который позволяет общаться с базами данных на обычном языке
→ Загружаешь URL своей базы
→ Задаёшь любой вопрос
→ Получаешь SQL-запрос, результаты и пояснения
👉 @PythonPortal
Совет по чистому коду в Python:
Отлавливайте проблемы линтинга до того, как они попадут в репозиторий, с помощью pre-commit hook.
Установите фреймворк pre-commit, добавьте файл .pre-commit-config.yaml и выполните pre-commit install.
Теперь линтеры запускаются автоматически перед каждым коммитом.
Если найдены ошибки, то коммит прерывается.
👉 @PythonPortal
Сегодня отмечается День программиста!
256-й день года выбран не случайно:
Дата праздника объясняется расчетом: 2 (двоичная система исчисления) в степени 8 (количество битов в байте). То есть 2^8= 256. Поэтому в обычный год день программиста 13 сентября, а в високосный — 12 сентября
Есть секретное пособие, которое делает из вас программиста уровня Google
I. Алгоритмы и структуры данных, без которых никуда
II. Упор на Python, Java, C++, C, но есть и материалы по Go, JS, Rust, Ruby
III. Реальные задачи с разбором
IV. Подготовка к любому этапу, даже к сложным HR-вопросам
Репозиторий настолько мощный, что его заметили даже в Google. И есть перевод на русский, так что всё понятно 🌟
👉 @PythonPortal
Нашлась утилита Real-Time Voice Cloning
Которая клонирует речь и воспроизводит любые фразы с вашей интонацией всего за пару секунд записи.
Она работает на Python, генерирует речь в реальном времени и полностью локальна, никаких облаков и ограничений. 🫠
👉 @PythonPortal
Хотите создавать SQL-базы данных визуально? 🔥
Попробуйте этот онлайн-инструмент, который позволяет проектировать и моделировать базы данных с помощью удобного drag-and-drop интерфейса.
Он помогает закреплять знания SQL, лучше понимать связи между таблицами и работать без установки программ или регистрации.
Инструмент полностью бесплатен и с открытым исходным кодом, а также поддерживает импорт и экспорт SQL-кода.
👉 @PythonPortal
Python-библиотека для визуализации архитектуры
Есть удобная Python-библиотека Diagrams, которая позволяет быстро строить архитектурные схемы и диаграммы прямо из кода.
Инструмент отлично подходит для демонстрации идей продукта заказчикам и партнёрам, можно визуализировать облачные сервисы, инфраструктуру или внутренние компоненты системы.
Пример использования:
pip install diagrams
from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS
from diagrams.aws.database import ElastiCache, RDS
from diagrams.aws.network import ELB, Route53
with Diagram("Clustered Web Services", show=False):
dns = Route53("dns")
lb = ELB("lb")
with Cluster("Services"):
svc_group = [ECS("web1"),
ECS("web2"),
ECS("web3")]
with Cluster("DB Cluster"):
db_primary = RDS("userdb")
db_primary - [RDS("userdb ro")]
memcached = ElastiCache("memcached")
dns >> lb >> svc_group
svc_group >> db_primary
svc_group >> memcached
5 самых полезных форматтеров для f-строк в Python:
I. Целые числа с ведущими нулями
variable = 56
print(f"{variable:05d}") # 00056
variable = 123.456
print(f"{variable:.2f}") # 123.46
variable = 12345
print(f"{variable:,.0f}") # 12,345
variable = 0.425
print(f"{variable:.0%}") # 42%
import datetime
variable = datetime.datetime.now()
print(f"{variable:%d.%m.%Y}") # 15.09.2025
Если бы «python-полиция» увидела мой код, мне бы дали пожизненное
Библиотека для реалистичной симуляции движений мыши в Python
OxyMouse позволяет эмулировать движения мыши так, чтобы они выглядели максимально естественно и приближённо к человеческим.
Это особенно полезно в сценариях, где важно имитировать поведение реального пользователя, например, в автоматизации тестирования или веб-скрейпинге.
На примерах показаны алгоритмы траекторий движения курсора.
Установка: pip install oxymouse
👉 @PythonPortal
Гайд для Python-разработчиков
Как определить точное местоположение любого IP-адреса
В статье показывают, как с помощью Python и библиотеки pygeoip работать с базой MaxMind, чтобы быстро получать геолокацию IP. Скрипт можно настроить так, чтобы все необходимые зависимости устанавливались автоматически, а сам процесс был максимально простым и удобным 🤩
👉 @PythonPortal
Лайфхак для вайбкодеров: если открыть любой репозиторий на GitHub и заменить github.com на gitmcp.io в его URL, вы попадёте на страницу с MCP-сервером для этого репо. Там будет готовый сниппет конфигурации. 🔨
Просто скопируйте его и вставьте в свою IDE или ИИ-инструмент (например, Cursor, Windsurf или VS Code с поддержкой MCP.)
👉 @PythonPortal
Регулярки + Pandas = неудержимый тандем для очистки данных
На этой шпаргалке показано, как убрать пробелы, удалить цифры, вытянуть email, найти номера телефонов, извлечь значения цен, заменить шаблоны и настроить очистку текста с помощью регулярных выражений в Python.
import pandas as pd
import re
# Пример данных
df = pd.DataFrame({
'text': [' Hello123! ', 'Email: test@example.com', 'Price is $45.99', 'Call: +91-9876543210']
})
1. Удаление пробелов в начале и конце
df['clean'] = df['text'].str.strip()
2. Удаление всех неалфавитно-цифровых символов
df['clean'] = df['text'].str.replace(r'[^a-zA-Z0-9 ]', '', regex=True)
3. Удаление всех цифр
df['clean'] = df['text'].str.replace(r'\d+', '', regex=True)
4. Извлечение Email адреса
df['email'] = df['text'].str.extract(r'[\w\.-]+@[\w\.-]+')
5. Извлечение номеров телефонов (пример для Индии)
df['phone'] = df['text'].str.extract(r'\+91[-\s]?(\d{10})')
6. Извлечение цен
df['price'] = df['text'].str.extract(r'\$([\d\.]+)')
7. Замена множества пробелов на один
df['clean'] = df['text'].str.replace(r'\s+', ' ', regex=True)
8. Приведение к нижнему регистру и удаление спецсимволов
df['clean'] = df['text'].str.lower().str.replace(r'[^a-z0-9 ]', '', regex=True)
9. Извлечение только букв или только цифр
df['only_text'] = df['text'].str.extract(r'([a-zA-Z\s]+)')
df['only_digits'] = df['text'].str.extract(r'(\d+)')
10. Пользовательская замена с использованием re.sub()
df['custom'] = df['text'].apply(lambda x: re.sub(r'\W+', '_', x)) # Заменяет все не-словесные символы на _
Появился простой способ превращать код в красивые картинки
ColorCodeBot это бот, который позволяет создавать изображения с подсветкой синтаксиса из любого кода. Он автоматически определяет язык программирования и подходит для работы как в личных чатах, так и в группах.
Он использует pyTelegramBotAPI для взаимодействия с Telegram и guesslang для распознавания языка, а изображения рендерятся с помощью Silicon и шрифта Iosevka.
Проект легко развернуть локально и настроить под свои нужды. 🤩
👉 @PythonPortal