Python RU
13.4K subscribers
930 photos
57 videos
38 files
1.18K links
Все для python разработчиков

админ - @notxxx1

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Молниеносный HTML-парсинг: selectolax быстрее BS4 в разы

Полезный трюк: быстро парсим HTML прямо из строки с помощью selectolax — лёгкой и очень быстрой библиотеки на C, в разы быстрее BeautifulSoup.

Установка:

pip install selectolax

Пример с кодом:


from selectolax.parser import HTMLParser

html = """

<html><body> <h1>Hello</h1> <p class='msg'>World</p> </body></html> """
tree = HTMLParser(html)
print(tree.css_first("h1").text()) # Hello
print(tree.css_first("p.msg").text()) # World



https://www.youtube.com/shorts/CSYJDmt4ztg
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥3😱2
OpenAI заявляет, что её вычислительная мощность выросла в 15 раз с 2024 года, компания использовала 200 тыс. GPU для GPT-5

Впечатляющая цифра.

Еще зз интересных новостей от OpenAI, gpt-oss уже сказали более 5млн и это самый залайканный релиз года на данный момент! 🔥
5👍3🥰3👎1
4👍3🥰2
👍63
⚡️ DINOv3 - новое семейство фундаментальных моделей для компьютерного зрения, обученных методом SSL. Ключевой особенностью стал прорыв в обучении без размеченных вручную данных: система, натренированная на 1.7 миллиардах изображений, достигает SOTA-производительности.

Backbone DINOv3 превосходит специализированные модели в широком спектре задач, от классификации до сегментации, без необходимости дополнительного дообучения. Модели разных размеров, включая флагманскую версию на 7 миллиардов параметров, уже доступны на Hugging Face под коммерческой лицензией.

github.com
4👍2
🐍 Полезный совет по Python: используйте "".join() вместо конкатенации строк в цикле

Многие новички пишут так:


words = ["Python", "очень", "крут"]
result = ""
for w in words:
result += w + " "
print(result)


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

🚀 Правильный способ — использовать " ".join():


words = ["Python", "очень", "крут"]
result = " ".join(words)
print(result)


💡 Преимущества:

- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)

📊 Пример:


lines = ["строка 1", "строка 2", "строка 3"]
text = "\n".join(lines)
print(text)


Вывод:

строка 1
строка 2
строка 3


📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
🔥74👍1
Forwarded from Machinelearning
🚀 Tencent Hunyuan только что выкатили AutoCodeBench — мощный open-source инструмент для проверки способностей ИИ в генерации кода.

Что внутри?
🔹 AutoCodeGen — генерация многоязычных датасетов кода без ручной разметки
🔹 AutoCodeBench — почти 4 000 сложных задач на 20 языках программирования (версии Full / Lite / Complete)
🔹 MultiLanguageSandbox — песочница для работы с поддержкой 30+ языков

C AutoCodeBench можно быстро тестировать LLM в кодинге, сравнивать модели и даже создавать свои бенчмарки.

🟠Статья: arxiv.org/abs/2508.09101
🟠Код: github.com/Tencent-Hunyuan/AutoCodeBenchmark
🟠Датасет: huggingface.co/datasets/tencent/AutoCodeBenchmark

@ai_machinelearning_big_data


#AutoCodeBench #AI #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
📄🚀 Удобный просмотр кода с rendergit

С помощью rendergit вы можете легко преобразовать любой репозиторий GitHub в статическую HTML-страницу с подсветкой синтаксиса и навигацией. Идеально подходит для быстрого просмотра, анализа кода и удобного поиска.

🚀Основные моменты:
- Два режима просмотра: Человеческий и LLM
- Подсветка синтаксиса и рендеринг Markdown
- Умное фильтрование больших файлов
- Адаптивный дизайн для мобильных устройств
- Удобная навигация по файлам

📌 GitHub: https://github.com/karpathy/rendergit

#python
👍51
🐍 Полезные фишки парсинга в Python

1️⃣ Парсинг JSON без лишних усилий

import json

data = '{"name": "Alice", "age": 25}'
parsed = json.loads(data)
print(parsed["name"]) # Alice


2️⃣ HTML/XML-парсинг с BeautifulSoup

from bs4 import BeautifulSoup

html = "<h1>Hello <b>Python</b></h1>"
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text) # Hello Python


3️⃣ Парсинг аргументов командной строки с argparse

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--name")
args = parser.parse_args()
print(f"Hello, {args.name}")


4️⃣ Быстрый CSV-парсинг

import csv

with open("data.csv") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["username"], row["score"])


5️⃣ Регулярки для гибкого текста

import re

text = "Email: test@example.com"
match = re.search(r"\w+@\w+\.\w+", text)
print(match.group()) # test@example.com


🔥 Эти трюки помогают парсить JSON, HTML, CSV, аргументы CLI и даже “грязный” текст.
Подойдут как для скриптов, так и для продакшн-кода.

👉 Сохрани, чтобы не забыть!
👍62
📝 PDF-Extract-Kit — библиотека для извлечения данных из PDF-файлов с поддержкой сложных документов с помощью моделей компьютерного зрения!

🔍 Основные особенности:

🌟 Точное извлечение текста и таблиц из структурированных и неструктурированных PDF, включая многостраничные таблицы и иерархические блоки!

🌟 OCR-интеграция, позволяющая обрабатывать PDF-документы с отсканированными изображениями!

🌟 Гибкий API на Python, что делает его удобным для анализа и интеграции в приложения!

🔐 Лицензия: AGPL-3.0

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Совет по Python: неожиданное поведение с изменяемыми аргументами по умолчанию

Если в функции задать аргумент по умолчанию как list или dict, то этот объект создаётся один раз — при определении функции.

Из-за этого все вызовы будут делить один и тот же объект, что часто приводит к багам.

Правильный способ — использовать `None` и создавать новый объект внутри функции.


def bad_append(x, data=[]):
data.append(x)
return data

print(bad_append(1)) # [1]
print(bad_append(2)) # [1, 2] <-- неожиданно!


def good_append(x, data=None):
if data is None:
data = []
data.append(x)
return data

print(good_append(1)) # [1]
print(good_append(2)) # [2]


Используйте этот приём, чтобы не попасться на скрытые баги с аргументами по умолчанию.
👍63🔥2