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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Пора перестать использовать Python 3.8

По состоянию на сентябрь 2024, около 14% пакетов, загруженных из PyPI, были для Python 3.8. А это примерно 250 миллионов пакетов в день.

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

https://pythonspeed.com/articles/stop-using-python-3.8/
👍5
Media is too big
VIEW IN TELEGRAM
Плохие практики ООП в Python, которых нужно избегать

В этом видео рассматриваются распространенные ошибках в ООП на Python, которые часто совершают разработчики. Вы узнаете:

— как сохранить ваш код чистым и удобным для сопровождения;
— почему вам следует заменять ненужные классы функциями;
— зачем использовать модули вместо классов только со статическими методами;
— и как сглаживать глубокие иерархии наследования.

#видео #ооп
3👍32
Сколько времени нужно, чтобы освоить Python?

Согласно исследованию «Factors Affecting Students' Attitudes toward Computer Programming», проведённому в 2019 году в Vilnius University, освоение поделили на три стадии:

1. Базовое понимание. С постоянными усилиями и структурированным планом обучения вы можете приобрести базовое понимание синтаксиса Python и основных концепций в течение 3-4 недель. В этом этапе обычно изучаются переменные, типы данных, условные операторы, циклы, функции.

2. Средняя компетенция. Эта стадия наступает обычно спустя шесть месяцев. Здесь вы становитесь знакомы с более продвинутыми темами, такими как работа с файлами, обработка исключений, модули, библиотеки и работа с внешними источниками данных.

3. Продвинутые навыки могут занять несколько лет работы над реальными проектами. На этом этапе вы углубляетесь в конкретные области, такие как веб-разработка, анализ данных, научные вычисления, машинное обучение или другие специализированные области. Это тоже требует практики.

А на каком этапе вы?

❤️ — в самом начале пути
🤯 — второй этап, инфа сотка
🗿 — я в своём сознании настолько преисполнился, что мне этот Python абсолютно понятен


#советы
20🤯18🗿16
Работа с JSON и XML в Python: парсинг, генерация и валидация

JSON и XML — это форматы для хранения информации. Их используют для обмена данными в веб-разработке между клиентом и сервером, поэтому они часто встречаются при работе с API.

В этой статье мы расскажем, как взаимодействовать с ними при работе с Python.

#api
3👍1
Интересно, гуру чего он в итоге стал спустя 8 лет
😁16👍4
Media is too big
VIEW IN TELEGRAM
Почему not not value БЫСТРЕЕ bool в Python

По какой-то причине not not работает быстрее, чем bool. Вы можете это проверить самостоятельно и убедиться в таком странном поведении. В этом видео разбирается почему именно так происходит.

#видео
«База данных» в гугл таблицах для телеграм-бота

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

В таком случае можно воспользоваться простыми google-таблицами. Как именно, рассказали в статье.

#telegram #google
😐3👍2🙈21💊1
Stealth-Requests — библиотека для анонимного скреппинга веб-страниц

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

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

Более подробно обо всех возможностях можно прочитать на странице проекта.

#инструменты #веб
👍3
​​Гарвардский курс по веб-разработке на Python и JS

Курс HarvardX: CS50's Web Programming продолжает легендарный CS50, фокусируясь на разработке веб-приложений с Python, JavaScript и SQL. Тут разбирают дизайн БД, масштабируемость, безопасность и UI.

В процессе обучения есть и практические проекты, среди которых создание API, интерактивных интерфейсов и использование облачных сервисов GitHub и Heroku.

Одним словом — годнота

#курс #web #js #python #en
👍101
Media is too big
VIEW IN TELEGRAM
Что такое docstring в Python

Docstring — это такая строковая переменная, которая идет сразу за объявлением модуля, функции, класса, метода. Таким образом питон предоставляет удобный способ добавления документации. Существует много средств для автоматического генерирования документации, которые используют докстринг. Подробнее об это переменной и её возможностях в этом видео.

#видео
3
This media is not supported in your browser
VIEW IN TELEGRAM
Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса

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

Узнать подробнее о проекте и попробовать его можно в статье.
👍84
Никто:

Я, написавший «Hello, World» на Python жду оффер на 150к:
32👍1
Использование подчеркивания в коде на Python

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

Этими знаниями делится автор статьи по ссылке. Не поленитесь прочитать.

#основы
2👎1
Забирайте бесплатный курс по Python от института биоинформатики

Курс посвящен базовым понятиям и элементам языка программирования Python (операторы, числовые и строковые переменные, списки, условия и циклы). Он является вводным и наиболее подойдет слушателям, не имеющим опыта написания программ ни на одном из языков программирования.

Начать бесплатно можно по ссылке.

#курс
Как устроен жизненный цикл запросов в Django

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

#django #веб
👍2👎1
Создание красивого Desktop-приложения на Python

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

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

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

#customtkinter #windows
4❤‍🔥1
Упрощаем запуск Python-приложений с помощью одной библиотеки

PyOxidizer — это инструмент, который позволяет вам создавать автономные исполняемые файлы с вшитым Python.

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

Инструкция по использованию, а также сама библиотека находятся в этом репозитории.

#библиотека
Простыми словами: yield в Python

Ключевое слово yield позволяет создавать генераторы — функции, которые могут возвращать значения одно за другим, сохраняя свое состояние для следующего вызова. Это полезно для работы с большими наборами данных, так как не нужно загружать все данные в память сразу.

Когда функция с yield вызывается, она возвращает объект-генератор. Этот объект можно итерировать (перебирать) для получения значений, которые функция «производит» по мере необходимости.

Предположим, у нас есть функция, которая возвращает числа от 1 до 3:

def simple_generator():
yield 1
yield 2
yield 3

# Получаем генератор
gen = simple_generator()

# Итерируем генератор
for value in gen:
print(value)

# Результат:
# 1
# 2
# 3


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

1. Функция simple_generator использует yield для возврата значений.
2. Каждый вызов yield приостанавливает выполнение функции и возвращает значение.
3. На следующий вызов итерации выполнение функции продолжается с места, где оно было приостановлено последним yield.

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

Например, для фильтрации четных чисел:

def get_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number

big_list = range(1000000) # Большой диапазон чисел

# Используем генератор для получения четных чисел
even_numbers = get_even_numbers(big_list)

# Печатаем первые 10 четных чисел
for _ in range(10):
print(next(even_numbers))

# Результат:
# 0
# 2
# 4
# 6
# 8
# 10
# 12
# 14
# 16
# 18


Преимущества использования yield:

1. Экономия памяти. Генератор не загружает все данные в память сразу, а генерирует элементы по мере необходимости.
2. Упрощение кода. Использование yield упрощает написание функций, которые должны постепенно возвращать результаты.
3. Меньше кода для обработки больших наборов данных. Генераторы позволяют легко работать с большими данными без необходимости вручную управлять промежуточными структурами данных.

#простымисловами
13🔥4👍3
Что должен знать каждый разработчик Python: 8 основных технологий

У каждого разработчика имеется свой набор технологий и инструментов, которые он использует в своей работе. Их выбор осуществляется в течение всего профессионального пути. Но есть и те, которые нужно знать каждому, не выбирая что-то одно.

В этой статье речь пойдёт о 8 таких технологиях, без которых никак не обойтись в работе в любой сфере от инжиниринга до бекенда.

#советы
🤔4😱1👨‍💻1
Как создать аудиоплеер на Python с помощью FFmpeg

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

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

#петпроект #статья #ffmpeg
Как автоматизировать инфраструктуру с помощью Terraform и Ansible

Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Первый позволяет настраивать ресурсы, реализовывать масштабируемость и удобное управление цифровыми активами компании. А второй осуществляет доставку, развертывание и обслуживание продуктов на серверах.

В этой статье мы рассказали в чем их особенности и как их можно интегрировать в разработку.

#devops #ansible #terraform