Zen of Python
20.2K subscribers
1.2K photos
161 videos
32 files
3.14K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
10 простых способов ускорить код на Python

Только ленивый не шутил про скорость работы Python. Да, зачастую он оказывается менее производительным, чем другие языки. Однако, существуют способы, которые позволяют значительно повысить скорость при выполнении сложных вычислений или даже обработке больших объёмов данных.

В этой статье собраны 10 таких способов. Читайте и сохраняйте, чтобы не забыть.

#советы
👍6
tg2md — простая библиотека для парсинга постов из Telegram в Markdown

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

Всё, что нужно — запустить файл с указанием источника данных и путь к конечному каталогу. Подробнее в репозитории проекта.

#библиотека #инструменты #telegram
questions_1.1.2.epub
868.9 KB
Вопросы для подготовки к Python Developer интервью

Ловите большую шпаргалку, в которой вы найдёте ответы на более чем 100 вопросов, встречающихся на интервью. Автор этого репозитория лично собирал вопросы и ответы на них, что заслуживает отдельного уважения.

А если хотите прочитать в формате книги, то скачивайте .epub, прикреплённый к посту.

#шпаргалка
6
Media is too big
VIEW IN TELEGRAM
Экскурс в Rust для питонистов

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

В этом докладе Михаил Грачев рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это не «введение в Rust для новичков», это обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимания и где будет болеть.

#видео #доклад #rust
32❤‍🔥2
Популярные алгоритмы машинного обучения на Python

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

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

#ml #алгоритмы
👍1
Простыми словами: DottedDict для работы со словарями

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

Зачем нужен DottedDict?

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

Прежде чем использовать DottedDict, его нужно установить. Это можно сделать с помощью pip:

pip install dotted-dict


Давайте рассмотрим простой пример использования DottedDict.

from dotted_dict import DottedDict

# Создание DottedDict
data = DottedDict({
"user": {
"name": "Alice",
"contact": {
"email": "alice@example.com",
"phone": "123-456-7890"
}
}
})

# Доступ к элементам с использованием точечной нотации
print(data.user.name) # Результат: Alice
print(data.user.contact.email) # Результат: alice@example.com


В этом примере мы создали DottedDict и получили доступ к вложенным элементам с использованием точечной нотации.

Вы также можете изменять и добавлять элементы в DottedDict так же просто, как и в обычном словаре.

# Изменение значения
data.user.name = "Bob"
print(data.user.name) # Результат: Bob

# Добавление нового значения
data.user.contact.address = "123 Main St"
print(data.user.contact.address) # Результат: 123 Main St


Будете использовать?

❤️ — а я уже использую
👍 — конечно, как я раньше без этого жил
🤔 — а смысл?


#простымисловами #pip #dotteddict
🤔42👍18🔥31
Media is too big
VIEW IN TELEGRAM
100 вопросов с собеседований Python. Полный разбор реальных вопросов

Этот обширный набор вопросов охватывает различные аспекты языка программирования Python, включая базовые понятия, структуры данных, ООП, асинхронное программирование, веб-разработку и многое другое.

Изучите этот список, чтобы узнать, к чему быть готовым и как лучше подготовиться к собеседованию по Python.

#видео #советы
😱1
Выбор очевиден
🥰37😁16👍3
Forwarded from Метод утёнка
movie480_vp9.webm
15.9 MB
Годнота для поклонников Python — в Steam в раннем доступе вышел симулятор разработки программного обеспечения JOY OF PROGRAMMING

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

Всё это только с помощью кода на Python. Стоит 650 рублей, но отзывы очень положительные!

#игры
82
Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

Статья для тех, кто устал от теории и хочет получить нужную практику. Вы разработаете полноценный веб-сервис с фронтендом и бэкендом. В проекте используется фреймворк FastApi , сервис WebSim, который сгенерирует для вас фронтенд и библиотеку CurlFetch2Py, которая будет выполнять основную логику приложения.

В итоге у вас получится приложение, которое будет принимать на входе CURL или FETCH строку и будет трансформировать её в Python код. Подробнее в статье:

https://habr.com/ru/companies/amvera/articles/833588/

#webdev #fastapi
👍9
Бесплатный курс по Python от Google

Курсов по Python много, в том числе и бесплатных. Но этот выделяется тем, что его разработала компания Google, которая понимает какие знания требуются для работы, например, у них.

На этом курсе вы изучите основные концепции программирования на Python и то, как специалисты по обработке данных используют Python в своей работе. Вы изучите такие концепции, как объектно-ориентированное программирование, переменные, типы данных, функции, условные операторы, циклы и структуры данных.

Начинаем по ссылке.

#курс
👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Инструмент дня: Решатель капчи от Google на Python

Сегодня какой-то день Google получается: сперва курс, который сделали в компании, потом инструмент для решения капчи от них же. Ну что ж, тем лучше.

Ближе к делу! Этот инструмент написан на Python и всё, что он делает — решает капчу от reCAPTCHA. Но не графическую, а аудио. Но в этом утилита сама разберётся, главное её установить и запустить.

Подробности о проекте и инструкция по установке в репозитории.

#инструменты #captcha
Простыми словами: defaultdict в Python

defaultdict — это подкласс стандартного словаря Python, который предоставляет значение по умолчанию для несуществующих ключей. Это помогает избежать частых ошибок с отсутствующими ключами, которые могут возникнуть при попытке доступа к значению по несуществующему ключу.

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

Рассмотрим простой пример, в котором мы создаем словарь с ключами и списками в качестве значений.

from collections import defaultdict

# Обычный словарь для сравнения
regular_dict = {}

# defaultdict с list в качестве значения по умолчанию
default_dict = defaultdict(list)

# Работа с обычным словарем
key = 'fruits'
if key not in regular_dict:
regular_dict[key] = []
regular_dict[key].append('apple')

# Работа с defaultdict
default_dict[key].append('banana')

print("Обычный словарь:", regular_dict)
# Результат: Обычный словарь: {'fruits': ['apple']}

print("defaultdict:", default_dict)
# Результат: defaultdict(<class 'list'>, {'fruits': ['banana']})


Как это работает?

1. Мы создаем defaultdict, указывая, что значением по умолчанию будет список (list). Это значит, что если ключ отсутствует, то для него автоматически создается пустой список.

2. Когда мы добавляем banana в default_dict под ключом fruits, defaultdict автоматически создает новый список для этого ключа, если он ещё не существует, и добавляет в него элемент.

Вы также можете использовать любую возвращаемую функцию для создания значений по умолчанию. Например, использовать int() для создания словаря, где 0 будет значением по умолчанию:

# defaultdict с int в качестве значения по умолчанию
int_default_dict = defaultdict(int)

int_default_dict['count'] += 1 # Прибавляем единицу к несуществующему ключу
print(int_default_dict) # Результат: defaultdict(<class 'int'>, {'count': 1})


У defaultdict есть ряд преимуществ, которые стоит учитывать:

1. Устраняет необходимость проверки наличия ключа перед манипуляцией над ним.
2. Предотвращает ошибки, связанные с отсутствующими ключами.
3. Позволяет легко определять различные значения по умолчанию для различных типов данных.

Напишите в комментариях, какую тему вам хотелось бы разобрать ещё?

#простымисловами
3
Давайте закрепим тему и решим небольшую викторину.

Варианты ответа ниже 👇

#викторина
Какой будет результат выполнения кода выше с использованием collections.defaultdict?
Anonymous Quiz
19%
Ошибка KeyError
58%
"default two"
15%
" two"
8%
"default"
Шпаргалка по команде Pytest

Материала немного, но он будет полезен как новичкам, так и опытным питонистам. Тут собраны основные опции для команды и расписано их назначение.

#шпаргалка #pytest
Forwarded from Нейроканал
This media is not supported in your browser
VIEW IN TELEGRAM
supervision | Компьютерное зрение проще

Годнейший проект по демократизации Computer Vision под названием Roboflow выпустил свою библиотеку на Python. Теперь раскачивать свои «зрячие» модели можно не только в веб-интерфейсе, но и с помощью API. Прямиком из топов GitHub.

Админ играется с Roboflow в своём пет-проекте. В 2024 году, когда у крупных компаний хватает средств превратить буквально весь интернет в свой датасет, невольно задаёшься вопросом: а сколько данных потребуется твоей модели в условиях даже предобученной «подкапотной» YOLOv8?

Если у вас есть опыт в CV-проектах, напишите, какой объем тренданных потребовался модели для точности выше 80%.

Цена: бесплатно
Репозиторий

@prog_tools
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как легко создать дипфейк в реальном времени с Python

Для этого нам понадобится утилита Deep-Live-Cam, Python и всего одна фотография для наложения лица.

Работает даже на слабом ПК, установка простая, а инструкция уже лежит в репозитории по ссылке.

#инструменты #ml #deepfake
Как-никак, сегодня ж суббота😏
🤣23🍌1
Простыми словами: Паттерн «Фасад»

Фасад — это отличный выбор для уменьшения сложности взаимодействия с внешними системами и улучшения удобства использования часто противоречивых или сложных API. Тем не менее важно не злоупотреблять этим паттерном, чтобы избежать чрезмерной изоляции компонентов или чрезмерной связности вашей системы.

Как вам новое оформление рубрики?

#простымисловами #паттерны
👍143🔥2