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

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

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

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

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

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

Middle / Senior Backend-разработчик (Python) в Гринатом
Где: удалённо
Опыт: от 3 лет

Программист-разработчик Python в Гринатом
Где: удалённо
Опыт: от 2 лет

QA Automation (Python) в Иннотех
Где: удалённо
Опыт: от 3 лет

Data Scientist в Открытие
Где: Москва, можно удалённо
Опыт: от 2 лет

Team Lead Python-разработчик в Гринатом
Где: удалённо
Опыт: от 5 лет

Data Engineer в Гринатом
Где: Москва
Опыт: от 3 лет

Senior Python-разработчик в МТС
Где: Москва, можно удалённо
Опыт: от 4 лет

#вакансии #работа
👍4👎4💩3
Преобразование русской речи в текст

В статье вы узнаете, как осуществить транскрибацию русской речи в текст при помощи Python и библиотеки vosk с использованием Deep Learning.

#texttospeech
👍5🔥2
Обработка больших файлов в Python с использованием параллельных процессов

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

В статье вы узнаете, как сократить время обработки с помощью multiprocessing, joblib и tqdm.

#multiprocessing
🔥6
Как выбрать тему для PyCharm

Рано или поздно большинство разработчиков приходят к осознанию — удобство IDE влияет на многое: скорость решения затыка, среднюю длительность беспрерывной работы, удобство настройки интерфейса. Так что сегодня мы рассказали в статье о темах для PyCharm, об их видах и процессе установки.

#pycharm
🤣9🤔7👎3👍2
Бенчмаркинг Python 3.10 vs. 3.11: на 64% быстрее?

Благодаря подписчику @Trizalio мы можем поделиться с вами прекрасной статьёй: сравнение производительности разных версий Python.

Автор статьи запускает разные версии ЯП в Docker и использует утилиту pyperformance, чтобы вычислить время исполнения аналогичных скриптов.

#факты
14👍5😨3
This media is not supported in your browser
VIEW IN TELEGRAM
Типичный курс Python для начинающих be like:
😁49🤡6👍5💩3🙏2
Прекрасная утилита для написания регулярок

Если судить по названию, то ihateregex.io написал человек, сытый по горло непрозрачностью регулярных выражений. Так и появилась замечательная веб-утилита, которая иллюстрирует, что значит тот или иной компонент регулярки.

При просмотре скрина легче не особо становится, но вся прелесть инструмента раскрывается, когда вы пишете выражение с нуля. И, что важно, с такими паттернами прекрасно дружит библиотека re, дополнительной подгонки не требуется.

#regex
👍10🔥3💩1
Как быстро найти отличия в длинных похожих строках

Чтобы сравнить две строчные последовательности (например, генов):

seq1 = 'atgcttcggcaagactcaaaaaata'
seq2 = 'atscttcsscaagactaaaaaaata'

можно использовать комбинацию zip() и enumerate(). Первая сопоставит символы с одинаковыми индексами, а вторая – присвоит каждой паре символов порядковый номер (здесь всего 24):

zip_seqs = zip(seq1, seq2)
enum_seqs = enumerate(zip_seqs)

Чтобы найти отличающиеся символы, достаточно сравнить символы попарно:

for i, (a, b) in enum_seqs:
if a != b:
print(f'index: {i}')

... index: 2
... index: 7
... index: 8
... index: 16

#лучшиепрактики
12👍3👌3
Django: ваш первый проект

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

В данном руководстве вы найдёте инструкцию по настройке проекта Django, которая будет полезна на первых этапах работы.

#django
👍2
Что полезного в свежей версии Python: необязательные элементы TypedDict

Существует такой интересный конструкт typing.TypedDict.Он позволяет добавлять подсказки о типах данных словарю:

class Point2D(TypedDict):
x: int
y: int
label: str

a: Point2D = {'x': 1, 'y': 2, 'label': 'good'} # OK
b: Point2D = {'z': 3, 'label': 'bad'} # Не пройдет проверку

Теперь TypedDict имеет необязательные элементы:

class Movie(TypedDict):
title: str
year: NotRequired[int]

m1: Movie = {"title": "Black Panther", "year": 2018} # OK
m2: Movie = {"title": "Star Wars"} # OK (год необязателен)
m3: Movie = {"year": 2022} # Ошибка (не заполнено обязательное поле)

Спасибо подписчику @Trizalio за годную подсказку.

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

#лучшиепрактики
👍231
Большая книга примеров Python

Прекрасный гайд под авторством Марченко Антона – преподавателя МГУ. Книга знакомит с основной терминологией языка на доступных примерах. Это издание напоминает расшифровку документации и отличается упором на понятность. Помимо прекрасной подборки частоиспользуемых понятий, это ещё и способ подготовится к собеседованию на Junior Python Developer.

#обучение
👍19🔥6
Скончался создатель VIM, Брам Муленаар

Семья разработчика сообщила, что Брам ушёл из жизни 3 августа. Он посвятил значительную часть своей жизни развитию и совершенствованию Vim и с гордостью глядел на достижения сообщества.

Vim — это редактор с открытым исходным кодом. За время своего существования он получил множество наград и по-прежнему остается одним из самых популярных текстовых редакторов.

:wq!

#vim
😢102🫡83💩2
Свой API на Django

Полуторачасовая серия уроков, посвящённая созданию своего API (Application Programming Interface). Этот урок хорош тем, что объясняет не только логику вёрстки API, но и помогает развернуть проект на Django с нуля.

Ссылка на плейлист

#api #django
👌13👍1
Подгрузка файлов на CDN c Python

CDN (Content Delivery Network) — распределённая система хранения данных, которая предоставляет собой набор серверов, отдающих файлы по принципу близости к пользователю.

pip install cdnupload
cdnupload /website/static s3://static-bucket --key-map=statics.json

Документация библиотеки

#cdn
👍7
Как бороться с прокрастинацией

Необычная англоязычная статья с talent500.co о работе с откладыванием задач у программистов. Помимо стандартных рекомендаций вроде планирования наперёд там вы найдёте ещё пару необычных техник от психоаналитиков.

#карьера
👍10
SQL: вставка новых записей в БД или обновление существующих

Почти сразу при появлении SQL в работе появляется потребность обновлять базу. Однако вручную выслеживать, кто в большом наборе есть, а кого добавлять, — трата времени.

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

db = # WITH new_employees AS (
SELECT *
FROM (
VALUES ('George', 'Sales', 'Manager', 1000),
('Jane', 'R&D', 'Developer', 1200)
) AS t(name, department, role, salary)
)
INSERT INTO employees (name, department, role, salary)
SELECT name,
department,
role,
salary
FROM new_employees ON CONFLICT (name) DO
UPDATE
SET department = EXCLUDED.department,
role = EXCLUDED.role,
salary = EXCLUDED.salary
RETURNING *;

#SQL
👍9❤‍🔥1👎1🔥1
Разработка на Python be like:
47😁26👍4👎3👨‍💻3
Что нового в Python 3.11.4: оператор слияния словарей

Pipe-оператор | теперь может лаконично объединить два и более словарей:

dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged_dict = dict1 | dict2
print (merged _dict) # Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

#лучшиепрактики
👍38🔥10👎1
PostgreSQL с нуля на Python

Двухчасовой плейлист, обучающий основам работы с популярным хранилищем данных. Помимо базовых тем вроде создания таблицы и JOIN вы встретите там и такие разделы, как UPSERT и идентификаторы UUID. Серия уроков подходит новичкам в Python и может стать комфортным способом познакомиться с SQL-подобными системами,

Ссылка на плейлист

#postgresql
🔥14👍5👎1😁1