pythonportal | Unsorted

Telegram-канал pythonportal - Python Portal

58174

Всё самое интересное из мира Python Связь: @devmangx РКН: https://clck.ru/3GMMF6

Subscribe to a channel

Python Portal

Если бы «python-полиция» увидела мой код, мне бы дали пожизненное

🤡

Один разработчик признался, что даже не подозревал, что локальные импорты это настоящая тема для споров в сообществе. Он регулярно подключает библиотеки прямо внутри функций.

«С большой силой приходит и большая ответственность», — отмечает он.

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

Плюсы локальных импортов:

• Зависимость видна прямо в момент использования, а не нужно листать файл вверх.

• Модули импортируются только при необходимости.

• Это может ускорить загрузку модуля, так как не всё сразу тянется в память.

• Помогает обходить циклические зависимости (если нет желания решать их «правильным» способом).

Минусы, конечно, есть, но в этом посте мы о них умолчим.

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

👉 @PythonPortal

Читать полностью…

Python Portal

Библиотека для реалистичной симуляции движений мыши в Python

OxyMouse позволяет эмулировать движения мыши так, чтобы они выглядели максимально естественно и приближённо к человеческим.

Это особенно полезно в сценариях, где важно имитировать поведение реального пользователя, например, в автоматизации тестирования или веб-скрейпинге.

На примерах показаны алгоритмы траекторий движения курсора.

Установка: pip install oxymouse

👉 @PythonPortal

Читать полностью…

Python Portal

Истина

👉 @PythonPortal

Читать полностью…

Python Portal

Гайд для Python-разработчиков

Как определить точное местоположение любого IP-адреса

В статье показывают, как с помощью Python и библиотеки pygeoip работать с базой MaxMind, чтобы быстро получать геолокацию IP. Скрипт можно настроить так, чтобы все необходимые зависимости устанавливались автоматически, а сам процесс был максимально простым и удобным 🤩

👉 @PythonPortal

Читать полностью…

Python Portal

Лайфхак для вайбкодеров: если открыть любой репозиторий на GitHub и заменить github.com на gitmcp.io в его URL, вы попадёте на страницу с MCP-сервером для этого репо. Там будет готовый сниппет конфигурации. 🔨

Просто скопируйте его и вставьте в свою IDE или ИИ-инструмент (например, Cursor, Windsurf или VS Code с поддержкой MCP.)

👉 @PythonPortal

Читать полностью…

Python Portal

Регулярки + 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)) # Заменяет все не-словесные символы на _


👉 @PythonPortal

Читать полностью…

Python Portal

Появился простой способ превращать код в красивые картинки

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

Он использует pyTelegramBotAPI для взаимодействия с Telegram и guesslang для распознавания языка, а изображения рендерятся с помощью Silicon и шрифта Iosevka.

Проект легко развернуть локально и настроить под свои нужды. 🤩

👉 @PythonPortal

Читать полностью…

Python Portal

Мне очень жаль 👀

👉 @PythonPortal

Читать полностью…

Python Portal

Появился интерактивный инструмент, который наглядно показывает, как работает GPT-подобная LLM.

Вместо теории — 3D-визуализация процессов внутри модели

От преобразования текста в токены до выбора следующего слова. Отличный способ быстро разобраться, что происходит «под капотом» нейросетей. 😮

👉 @PythonPortal

Читать полностью…

Python Portal

Full vibe developer

👉 @PythonPortal

Читать полностью…

Python Portal

Годная подборка из 20 Kubernetes-челленджей

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

1. danielepolencic/kubernetes-challenge-1-counting-endpoints-9d9c49dac2aa">Подсчёт endpoints (как и сколько endpoints будет у Service)

2. danielepolencic/kubernetes-challenge-2-waiting-for-a-miracle-f8448c864397">Ждём чуда (как работает shutdown)

3. danielepolencic/kubernetes-challenge-3-i-said-stop-3323e74002ca">Я сказал стоп (как «оттянуть» время удаления Pod)

4. danielepolencic/kubernetes-challenge-4-designing-shared-clusters-dc836f087fb2">Проектирование shared-кластеров (какую архитектуру выбрать)

5. danielepolencic/kubernetes-challenge-5-kernel-panic-b5409d3db6e4">Kernel panic (время паниковать?)

6. danielepolencic/challenge-6-hop-little-bunny-b0748c3cd907">Прыгай, кролик

7. danielepolencic/kubernetes-challenge-7-how-many-is-too-many-217cbc2c2b63">Сколько — это слишком много

8. danielepolencic/kubernetes-challenge-8-keeping-the-lights-on-bb2826dba28b">Держим свет включённым

9. danielepolencic/kubernetes-challenge-9-greedy-etcd-ba0e395cac8a">Прожорливый etcd

10. danielepolencic/challenge-10-multiplying-pods-ebd2a65e0ac9">Умножение pod’ов

11. danielepolencic/kubernetes-challenge-11-going-indie-0a91d244b17f">В одиночку

12. danielepolencic/challenge-12-rollin-28abe367e76b">Rollin’

13. danielepolencic/challenge-13-all-you-can-eat-c93045d17388">All you can eat

14. danielepolencic/challenge-14-bounce-2ba683214e7b">Bounce

15. danielepolencic/challenge-15-down-the-rabbit-hole-d1d16121a835">В кроличью нору

16. danielepolencic/challenge-16-throttled-93133f8fd0ad">Throttled

17. danielepolencic/challenge-17-sticky-mess-7f7f00be2636">Липкий бардак

18. danielepolencic/challenge-18-dead-or-alive-16357e0b874e">Жив или мёртв

19. danielepolencic/challenge-19-tied-up-dc16a3786218">Связанный по рукам

20. danielepolencic/challenge-20-one-to-bind-them-all-ca83406d0296">Один, чтобы связать их всех


Для каждого задания приводится условие, варианты ответов и непосредственно ответ с пояснениями 😏

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по чистому коду Python:

Не разделяйте части кода с помощью комментариев — лучше извлекайте функции/методы.

Почему?

1. Улучшает читаемость.
2. При рефакторинге имя метода меняется везде (комментарии быстро становятся устаревшими).

Плохой пример:

# Чтение всех тикетов
class CloseAllTickets:
def execute(self):
session = sessionLocal()

# список всех тикетов
tickets = session.query(Ticket).all()

# закрытие тикетов
for ticket in tickets:
ticket.status = "CLOSED"

# сохранение тикетов
session.add_all(tickets)
session.commit()


Хороший пример:


Читатель может сосредоточиться на логике высокого уровня и проверять детали низкого уровня только при необходимости

class CloseAllTickets:
def execute(self):
session = sessionLocal()
tickets = self._list_tickets(session)
self._close_tickets(tickets)
self._save_tickets(session, tickets)

def _list_tickets(self, session):
return session.query(Ticket).all()

def _close_tickets(self, tickets):
for ticket in tickets:
ticket.status = "CLOSED"

def _save_tickets(self, session, tickets):
session.add_all(tickets)
session.commit()


Здесь каждый шаг вынесен в отдельную функцию

👉 @PythonPortal

Читать полностью…

Python Portal

Python это мощный инструмент для анализа и визуализации данных.

А если хочется углубиться, есть курс от FreeCodeCamp специально под это.

Он начинается с основ Python, потом переходит к работе с табличной и графической визуализацией, обработкой изображений и другим темам. Всё на примере астрономических данных. 🌟

👉 @PythonPortal

Читать полностью…

Python Portal

Для тех, кто пишет GUI на Python с использованием tkinter, есть интересная находка — библиотека tksheet

Она расширяет стандартные возможности tkinter и позволяет встроить в приложение полноценный табличный интерфейс, похожий на Excel. 🎩

С помощью tksheet можно работать с большими объёмами данных, редактировать ячейки прямо в таблице, сортировать, перетаскивать строки и столбцы, использовать undo и redo. Есть поддержка выпадающих меню, чекбоксов, прогресс-баров и встроенного поиска.

Всё это делает её отличным инструментом для создания интерактивных и удобных интерфейсов на базе Python.

👉 @PythonPortal

Читать полностью…

Python Portal

Запусти собственного AI-агента на Python в Telegram за 5 минут!

evi-run — это легкий и функциональный фреймворк для создания как продвинутых мультиагентных систем, так и обычных AI-ботов. Первая настройка и quick start через Docker Compose за несколько минут!

Для продвинутых пользователей: Настройте и запустите свой экземпляр evi-run без навыков программирования — для личного использования, для сообщества или с монетизацией.

Для разработчиков: Создавайте продвинутые ИИ-системы с модульной архитектурой и централизованной конфигурацией агентов.

Подходит для создания: AI-ассистентов, виртуальных персонажей, автоматизации саппорта, аналитиков данных, торговых агентов и многих других мультиагентных систем.

Вышло большое обновление на GitHub, добавился новый функционал и улучшена архитектура!

Присоединяйся к сообществу evi-run и участвуй в развитии проекта!

📁 Language: #Python (85.9%)

⭐️ Stars: 76

➡️ Cсылка на GitHub

📱 @git_developer

Читать полностью…

Python Portal

Когда аж 10 минут потратил на исправление ошибки, а она так и не исправилась

👉 @PythonPortal

Читать полностью…

Python Portal

Вышел AI-инструмент, который позволяет общаться с базами данных на обычном языке

→ Загружаешь URL своей базы
→ Задаёшь любой вопрос
→ Получаешь SQL-запрос, результаты и пояснения

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по чистому коду в Python:

Отлавливайте проблемы линтинга до того, как они попадут в репозиторий, с помощью pre-commit hook.

Установите фреймворк pre-commit, добавьте файл .pre-commit-config.yaml и выполните pre-commit install.

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

Если найдены ошибки, то коммит прерывается.

👉 @PythonPortal

Читать полностью…

Python Portal

Не найдено

👉 @PythonPortal

Читать полностью…

Python Portal

Сегодня отмечается День программиста!

256-й день года выбран не случайно:

Дата праздника объясняется расчетом: 2 (двоичная система исчисления) в степени 8 (количество битов в байте). То есть 2^8= 256. Поэтому в обычный год день программиста 13 сентября, а в високосный — 12 сентября


С праздником, коллеги! ☺️

@IT_Portal

Читать полностью…

Python Portal

Это ещё ничего.. 😄

👉 @PythonPortal

Читать полностью…

Python Portal

Есть секретное пособие, которое делает из вас программиста уровня Google

I. Алгоритмы и структуры данных, без которых никуда
II. Упор на Python, Java, C++, C, но есть и материалы по Go, JS, Rust, Ruby
III. Реальные задачи с разбором
IV. Подготовка к любому этапу, даже к сложным HR-вопросам

Репозиторий настолько мощный, что его заметили даже в Google. И есть перевод на русский, так что всё понятно 🌟

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по чистому коду на Python:

Когда модуль становится слишком большим, его можно реструктурировать в пакет, при этом сохранив все импорты из модуля без изменений.

Пример:

# views/__init__.py

from .book_views import BookList, BookDetail
from .library_views import LibraryList, LibraryDetail
from .author_views import AuthorList, AuthorDetail

__all__ = [
"BookList",
"BookDetail",
"LibraryList",
"LibraryDetail",
"AuthorList",
"AuthorDetail",
]

# импорты из модуля/пакета могут оставаться теми же
from views import BookList, BookDetail


👉 @PythonPortal

Читать полностью…

Python Portal

🎯 Бот, в котором платят за логику

3 задачи — до 30 000 ₽ на обучение. За каждую правильную — по 10К. Даже если ошибёшься, — приз всё равно будет.

Не лотерея. Тест с реальными наградами.

15 минут. Никаких регистраций. Только Telegram.

🚀 Заходи — покажи класс: https://epic.st/c2pX0Q?erid=2VtzqxXhv9H

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

Читать полностью…

Python Portal

Удобный интерфейс для скачивания видео и аудио

Если вы не любите работать с командной строкой, то youtube-dl-gui это именно то, что вам нужно.

Этот графический интерфейс для популярного инструмента youtube-dl позволяет скачивать видео и аудио с YouTube и других платформ без необходимости использовать терминал.

С помощью youtube-dl-gui вы сможете загружать видео и плейлисты с YouTube и сотен других сайтов, выбирать нужный формат и качество, включая только аудио. Поддерживается одновременная загрузка нескольких файлов, а прогресс загрузки отображается в реальном времени. Также через удобный GUI можно настроить параметры youtube-dl. 😎

Подробнее на GitHub

👉 @PythonPortal

Читать полностью…

Python Portal

Офис издательства O'Reilly

👉 @PythonPortal

Читать полностью…

Python Portal

Нашёл топовый опенсорс-тул

Он превращает любой JSON или YAML в интерактивную mind-map.

Удобно разбирать сложные структуры, сразу видно связи и вложенность.

Идеальный инструмент, чтобы не зарываться в «лес скобок» и быстрее понимать данные. Must-have для разработчиков 😧

confmap.com

👉 @PythonPortal

Читать полностью…

Python Portal

Классика

👉 @PythonPortal

Читать полностью…

Python Portal

Нашёл мёд для тех, кто хочет освоить Git без нудных лекций. 🚨

Есть десктопное приложение под Mac, Windows и Linux, которое обучает работе с Git через практику.

Задания выполняются прямо в реальном Git и GitHub, репозитории создаются у вас в аккаунте и остаются навсегда.

Поддержка разных языков тоже в комплекте.

Ссылка: https://github.com/jlord/git-it-electron

👉 @PythonPortal

Читать полностью…

Python Portal

ПМ забирает разработчика на созвон с заказчиком

👉 @PythonPortal

Читать полностью…
Subscribe to a channel