zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20687

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

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

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

Zen of Python

Подгрузка файлов на CDN c Python

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

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

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

#cdn

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

Zen of Python

Скончался создатель VIM, Брам Муленаар

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

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

:wq!

#vim

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

Zen of Python

Гринатом в поисках Middle/Senior Backend Python Developer в команду Атом Око

Чем занимается команда: автоматизирует внутренние процессы и делает продукты на внешний рынок, в том числе, высоконагруженные (детекция объектов на спутниковых снимках, импортозамещённый аналог OCR-сервиса, поисковые системы и многое другое).

Что предлагают:
— ресурсы, чтобы делать лучшие продукты на рынке;
— удалёнку;
— ДМС со стоматологией;
— профессиональную команду из фронтенд-, бэкенд-разработчиков, DS, аналитиков, дизайнеров, тестировщиков.

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

Откликнуться: https://tprg.ru/WakZ

#вакансия

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

Zen of Python

Что полезного в свежей версии 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 рассказать, поделитесь в комментариях. Интересные ответы мы превратим в посты с вашим упоминанием.

#лучшиепрактики

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

Zen of Python

Как быстро найти отличия в длинных похожих строках

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

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

#лучшиепрактики

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

Zen of Python

Типичный курс Python для начинающих be like:

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

Zen of Python

Бенчмаркинг Python 3.10 vs. 3.11: на 64% быстрее?

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

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

#факты

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

Zen of Python

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

Главное тут — изучить уникальные авторские гайды по ИИ. Вот как этот, например. Там ребята доступным языком объяснили, как начать, какую работу можно отдать нейронке и почему с этим справится даже новичок.

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

Реклама ООО «ТЕРРА ЭЙАЙ»

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

Zen of Python

Преобразование русской речи в текст

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

#texttospeech

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

Zen of Python

Превратить кортеж в словарь одной строкой? Легко!

Допустим, у нас есть кортеж, где каждое значение – строка из двух символов:

values = ('a1', 'b2', 'c3')

Если “навесить” функцию dict():

print(dict(values))

то в результате мы получим словарь с разделёнными на «ключ – значение» парами:

{'a': '1', 'b': '2', 'c': '3'}

#лучшиепрактики

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

Zen of Python

Ребят, ищем пишущего IT-редактора блогов в Tproger

Условия: удалёнка, фултайм

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

Требования:
— пишешь логично и ёмко, видишь стилистические и речевые ошибки в тексте.
— быстро находишь и проверяешь информацию (в том числе в англоязычных источниках).
— любишь общаться с экспертами и умеешь их разговорить.
— спокойно реагируешь на комментарии, но можешь отстоять свою позицию, если правка неуместна.
— тактично вносишь правки, чтобы автор не расстраивался, а был благодарен за помощь.
— знаешь, что такое ключевое слово, мета-описание и зачем нужен Wordstat.

Чтобы откликнуться, заполняйте анкету.

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

Zen of Python

Рейтинг лучших программистов в мире 2023: полуфинал

В сегодняшнем раунде участвуют две пары:

— Бьёрн Страуструп, создатель С++;
— Билл Гейтс, сооснователь Microsoft.

— Андерс Гейлсберг, создатель Turbo Pascal, Delphi, C# и TypeScript;
— Линус Торвальдс, создатель Linux.

Ссылка на голосование

#баттлпрограммистов

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

Zen of Python

Простейшее объяснение, зачем нужны Dunder-методы

Допустим, у нас есть класс Fruit с названием и ценой, плюс некие собственные методы.

class Fruit:
def __init__(self, name, cost):
self.name = name
self.cost = cost

def method(self):
pass

Напрямую создавать экземпляры, передавая название и цену, не получится. НЯ ужно использовать магический метод __str__():

def __str__(self):
return f'{self.name}, €{self.cost}'

И теперь, если мы создадим экземпляр класса Fruit:

banana = Fruit('Banana', 10.5)

то он «схватит» аргументы в нужном режиме:

>>> print(banana)
... Banana, €10.5

#лучшиепрактики

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

Zen of Python

Перенос строки

С помощью наклонной черты \ (backslash) можно разрывать длинный код на несколько строк:

a_variable = True
b_variable = True
c_variable = False

if a_variable == True \
and b_variable == True \
and c_variable == False:
print('Like for more!")

#факты

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

Zen of Python

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

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

#карьера

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

Zen of Python

Свой API на Django

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

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

#api #django

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

Zen of Python

Гринатом в поисках Middle/Senior Backend Python Developer в команду Атомкор

Чем занимается команда: автоматизирует внутренние процессы и делает продукты на внешний рынок, в том числе, высоконагруженные (детекция объектов на спутниковых снимках, импортозамещённый аналог OCR-сервиса, поисковые системы и многое другое).

Что предлагают:
— ресурсы, чтобы делать лучшие продукты на рынке;
— удалёнку;
— ДМС со стоматологией;
— профессиональную команду из фронтенд-, бэкенд-разработчиков, DS, аналитиков, дизайнеров, тестировщиков.

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

Откликнуться: https://tprg.ru/WakZ

#вакансия

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

Zen of Python

Большая книга примеров Python

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

#обучение

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

Zen of Python

Django: ваш первый проект

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

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

#django

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

Zen of Python

Прекрасная утилита для написания регулярок

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

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

#regex

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

Zen of Python

Вы Python-разработчик и хотите делиться знаниями с другими? 

Станьте автором курсов в Яндекс Практикуме — создавайте и улучшайте образовательный контент и влияйте на формирование индустрии.
Частичная занятость (2-3 часа в день)

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

Почему вам стоит стать автором курса?
— помощь тысячам людей получить востребованную IT-профессию;
— прокачка себя и подтверждение своей экспертности;
— дополнительный доход на удалёнке.

Откликайтесь по ссылкеhttps://practicum.yandex.ru/job/vacancy-118

#вакансия

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

Zen of Python

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

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

#pycharm

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

Zen of Python

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

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

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

#multiprocessing

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

Zen of Python

Подборка актуальных вакансий

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

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

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

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

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

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

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

#вакансии #работа

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

Zen of Python

Финал баттла программистов

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

За первое и второе место будут бороться:
— Бьёрн Страуструп, создатель С++;
— Линус Торвальдс, создатель Linux.

За третье и четвёртое место будут бороться:
— Андерс Гейлсберг, создатель Turbo Pascal, Delphi, C# и TypeScript;
— Билл Гейтс, сооснователь Microsoft.

Ссылка на голосование

#баттлпрограммистов

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

Zen of Python

Способ выделить уникальные элементы списка: фильтр Блума

Фильтр Блума позволяет быстро определить, не входит ли элемент в заданное множество. Операции вставки и проверки выполняются за постоянное время, независимо от размера множества. Библиотека bloom-filter как раз и помогает реализовать такую функциональность:

# Инициируем экземпляр фильтра
bloom = BloomFilter(max_elements=10000, error_rate=0.1)

# Проверка на наличие "test-key"
assert "test-key" in bloom is False

#лучшиепрактики

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

Zen of Python

Как применяется _ (нижнее подчёркивание)

1. Для читаемости больших чисел:
num = 9_000_000
binaryNum = 0b0_101
hexNum = 0x5_4fa

2. Для удержания в памяти временного «бесхозного» объекта. Если в Jupyter Notebook в ячейке один произвести операцию сложения:

4 + 5

то вызвать результат этого сложения в ячейке № 2 можно с помощью _:

>>> _
... 9

#лучшиепрактики

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

Zen of Python

Autopep: наводим порядок в коде

Интересный чистильщик кода autopep8 приведёт ваш файл.py к читаемому и корректному состоянию:

pip install --upgrade autopep8
autopep8 --in-place filename.py

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

#факты

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

Zen of Python

Интервью с Гвидо ван Россумом из Оксфорда

В своём англоязычном интервью создатель Python рассказал про:

— предпосылки создания языка (причем здесь язык C и shell-скрипты);
— сохранение мотивации;
— женщин в Python;
— предполагаемое будущее языка;
— крупные проблемы ЯП и другие интересные темы.

#факты

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