Написал про забавный трюк, который в простых случаях позволяет использовать
https://semakin.dev/2020/05/python2_print/
print
как функцию в Python 2 (ну, на самом деле нет, но выглядит именно так).https://semakin.dev/2020/05/python2_print/
Питонические атаки
Почему print(
Объяснение синтаксического трюка, который позволяет использовать print() как функцию в Python 2 и 3.
Форматтер кода — ещё один, на мой взгляд, незаменимый в работе инструмент. Проект
Это правда очень круто, когда вся кодовая база проекта абсолютно одинаково отформатирована. Глаз не отвлекается на всякие мелочи, код воспринимается легко. И для этого даже почти ничего не нужно делать!
https://semakin.dev/2020/05/black/
black
в последнее время быстро набирает популярность — многие проекты берует его к себе на вооружение.Это правда очень круто, когда вся кодовая база проекта абсолютно одинаково отформатирована. Глаз не отвлекается на всякие мелочи, код воспринимается легко. И для этого даже почти ничего не нужно делать!
https://semakin.dev/2020/05/black/
Питонические атаки
Форматируем код при помощи black
Автоматическое форматирование кода избавляет от бесконечных споров про пробелы, запятые и скобки, экономя нервы и часы код-ревью.
pipenv выпустил долгожданный релиз! Это значит, что проект будет жить!
Обновил статью про
Обновил статью про
pipenv
: https://semakin.dev/2020/04/pipenv/GitHub
GitHub - pypa/pipenv: Python Development Workflow for Humans.
Python Development Workflow for Humans. Contribute to pypa/pipenv development by creating an account on GitHub.
Недавно прошел Pytup (митап по Python), перебазировавшийся в онлайн из-за пандемии. Было две достаточно интересных и хардкорных темы.
Запись доступна здесь: https://youtu.be/tpKs4UVe3Bk
Запись доступна здесь: https://youtu.be/tpKs4UVe3Bk
YouTube
Pytup online / запись трансляции
Описание: Первый Pytup в онлайне — мы постараемся создать ту же самую атмосферу, что была на офлайновых встречах :)
Первым выступит Эмиль Шарифуллин — lead software engineer в «СКБ Контур» (раньше работал в RedHat). Эмиль поделится опытом разработки библиотек…
Первым выступит Эмиль Шарифуллин — lead software engineer в «СКБ Контур» (раньше работал в RedHat). Эмиль поделится опытом разработки библиотек…
Git-хуки — это невероятно мощный и полезный инструмент, который, как мне кажется, часто игнорируют и недооценивают.
Написал пост про Git-хуки в целом и про инструмент
https://semakin.dev/2020/05/pre-commit/
#git
Написал пост про Git-хуки в целом и про инструмент
pre-commit
, который упрощает работу с ними. Если ещё не пользуетесь, то наверняка будет полезно, на каком языке бы вы ни писали!https://semakin.dev/2020/05/pre-commit/
#git
Питонические атаки
Запуск Git-хуков при помощи pre-commit
Git-хуки позволяют автоматизировать запуск различных проверок (линтеры, форматтеры, тесты) при работе с системой контроля версий.
StackOverflow опубликовали результаты ежегодного опроса среди разработчиков за 2020 год.
Из интересного:
* Python является четвертым по популярности языком программирования (а если не учитывать HTML и SQL — это ж язык разметки и язык запросов, то вообще второй);
* TypeScript сместил Python на третье место в рейтинге "Most Loved";
* Python до сих пор держит первое месте в рейтинге "Most Wanted".
https://insights.stackoverflow.com/survey/2020
Из интересного:
* Python является четвертым по популярности языком программирования (а если не учитывать HTML и SQL — это ж язык разметки и язык запросов, то вообще второй);
* TypeScript сместил Python на третье место в рейтинге "Most Loved";
* Python до сих пор держит первое месте в рейтинге "Most Wanted".
https://insights.stackoverflow.com/survey/2020
Stack Overflow
Stack Overflow Developer Survey 2020
Nearly 65,000 took this comprehensive, annual survey of people who code. Demographics. Most loved, dreaded and wanted technologies. Salary and careers.
Часто замечаю, что люди забывают ставить символы переноса строки в конце текстовых файлов (будь то исходники Python, SQL или просто TXT-файл). А это важная деталь, её отсутствие нарушает основопологающие стандарты разработки ПО и заставляет многие утилиты Unix сходить с ума.
https://semakin.dev/2020/05/no_newline_at_end_of_file/
https://semakin.dev/2020/05/no_newline_at_end_of_file/
Питонические атаки
Почему важно всегда ставить символ переноса строки в конце текстовых файлов?
Так легко упустить эту маленькую, но важную деталь.
Кстати, раз уж затронули тему опросов и исследований, то JetBrains тоже недавно опубликовали результаты своего исследования среди Python-разработчиков.
Интересное:
* Python часто используют совместно с JavaScript, Bash, HTML/CSS и SQL;
* основными областями применения Python остаются анализ данных, веб-разработка, машинное обучение и DevOps;
* Python 2 уже почти не используется (10%), а Python 3.7 является самой популярной версией среди 3.x.
https://www.jetbrains.com/lp/python-developers-survey-2019/
#jetbrains
Интересное:
* Python часто используют совместно с JavaScript, Bash, HTML/CSS и SQL;
* основными областями применения Python остаются анализ данных, веб-разработка, машинное обучение и DevOps;
* Python 2 уже почти не используется (10%), а Python 3.7 является самой популярной версией среди 3.x.
https://www.jetbrains.com/lp/python-developers-survey-2019/
#jetbrains
JetBrains: Developer Tools for Professionals and Teams
Python Developers Survey 2019 Results
Official Python Developers Survey 2019 by Python Software Foundation and JetBrains: more than 24k responses from more than 150 countries.
Круто, когда есть инструменты, на которые можно положиться. Круто, когда тайп-чекер через десять файлов и пятнадцать вызовов функций понимает, что ты передаёшь не правильный аргумент, и сообщает тебе об этом. Круто, когда тайп-чекер знает, как правильно пользоваться всеми (ну ладно, не всеми, но многими) внешними библиотеками и не даёт косячить.
Это возможно лишь благодаря аннотациям типов. Ещё круто, что аннотации типов в Python опциональны — хочешь говнякаешь по-быстрому, а хочешь — пишешь на века.
Писать аннотации типов в Python — это очень полезно. Вот, даже пост об этом написал:
https://semakin.dev/2020/06/type_hints/
Это возможно лишь благодаря аннотациям типов. Ещё круто, что аннотации типов в Python опциональны — хочешь говнякаешь по-быстрому, а хочешь — пишешь на века.
Писать аннотации типов в Python — это очень полезно. Вот, даже пост об этом написал:
https://semakin.dev/2020/06/type_hints/
Питонические атаки
Аннотации типов в Python
Введение в тайп-аннотации и тайп-чекинг в Python.
Согласно документации, встроенная функция
В Python 3.10 приняли PEP 618, который добавляет в
Например,
По умолчанию
Ждём Python 3.10!
Ссылки:
* PEP 618: https://www.python.org/dev/peps/pep-0618/
* Документация по
zip()
извлекает по одному элементу из каждой переданной последовательности (или вообще любых итерируемых объектов) и возвращает их все вместе в виде кортежа, делая так до тех пор, пока одна из последовательностей не закончится. Это значит, что конец более длинных последовательностей просто тихо выкидывается и не используется. Поведение абсолютно логичное, существует уже много лет, явно описано в документации, но, к сожалению, оно слишком неочевидное. В ситуации с последовательностями разной длины результат операции может получиться не таким, как ожидается, при этом никаких ошибок не произойдет. Это настолько распространённая проблема, что даже в стандартной библиотеке Python были баги по этому поводу.В Python 3.10 приняли PEP 618, который добавляет в
zip()
аргумент strict
. В режиме zip(..., strict=True)
функция будет контролировать, чтобы все последовательности заканчивались одновременно.Например,
zip([1, 2, 3], [1, 2], strict=True)
зарейзит ошибку ValueError
, потому что переданы списки разной длины.По умолчанию
zip()
сохранит своё старое поведение.Ждём Python 3.10!
Ссылки:
* PEP 618: https://www.python.org/dev/peps/pep-0618/
* Документация по
zip
: https://docs.python.org/3/library/functions.html#zipЗамечаю, что начинающие питонисты часто пишут код примерно вот так:
Написал статейку о том, как правильно обходить словари в Python, если нужны только ключи, только значения, либо и то, и другое одновременно.
https://semakin.dev/2020/07/iterate_over_dict/
for key in dictionary:По сути, ключ словаря нужен в цикле лишь для того, чтобы извлечь значение, и сам по себе никак не используется. Не надо так. Напишем ту же самую программу, избавившись от лишних, незначащих деталей:
print(dictionary[key])
for value in dictionary.values():Так лучше. По заголовку цикла сразу же видно, что использоваться будут только значения словаря.
print(value)
Написал статейку о том, как правильно обходить словари в Python, если нужны только ключи, только значения, либо и то, и другое одновременно.
https://semakin.dev/2020/07/iterate_over_dict/
Питонические атаки
Эффективный обход словарей в цикле в Python
Расскажу как правильно обойти словарь (dict) в цикле, чтобы получить ключи, значения или и ключи, и значения одновременно, при этом не...
Люблю всякие исследования и статистику. JetBrains выкатили результаты исследования экосистемы разработки за 2020 год.
Инфографика: https://www.jetbrains.com/ru-ru/lp/devecosystem-2020/
Пост в блоге: https://blog.jetbrains.com/ru/2020/06/22/the-state-of-developer-ecosystem-2020/
#jetbrains
Инфографика: https://www.jetbrains.com/ru-ru/lp/devecosystem-2020/
Пост в блоге: https://blog.jetbrains.com/ru/2020/06/22/the-state-of-developer-ecosystem-2020/
#jetbrains
JetBrains: Developer Tools for Professionals and Teams
Инфографика «Экосистема разработки в 2020 году»
Результаты четвертого ежегодного исследования экосистемы разработки, в котором приняли участие почти 20 000 респондентов. Узнайте, что происходит в мире программирования в 2020 году: чем живут разработчики, какие языки, технологии и инструменты они используют.
Заблуждения по поводу времени, в которые верят программисты:
* часть 1: https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
* часть 2: https://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time
* часть 1: https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
* часть 2: https://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time
Tumblr
Falsehoods programmers believe about time
Over the past couple of years [I have spent a lot of time][checklist] debugging other engineers' test code. This was interesting work, occasionally frustrating but always informative. One might not...
Forwarded from Mikhail Elovskikh
🐍 Онлайн-питап
🏡 Друзья, через неделю мы проводим второй Pytup в онлайне.
⏱ В среду 26 августа в 17:00 Мск поговорим про логгирование, распределенные локи и новости Python.
📆 Участие, как обычно, бесплатное, программа и регистрация на сайте.
🏡 Друзья, через неделю мы проводим второй Pytup в онлайне.
⏱ В среду 26 августа в 17:00 Мск поговорим про логгирование, распределенные локи и новости Python.
📆 Участие, как обычно, бесплатное, программа и регистрация на сайте.
Pytup online
Приглашаем Python-разработчиков (junior, middle, senior) на второй Pytup в онлайне. Вас ждут выступления спикеров из Екатеринбурга и Иннополиса. Обсудим проблемы логирования в Python, способы их решения и подходы к распределённому выполнению кода, который…
В последнее время так мало тематических мероприятий, что грешно пропускать 😫
Forwarded from Alexander Bryazgin
Опросы и статистика — это здорово, потому что в конечном итоге это позволяет всем нам понять, чем же мы занимаемся, куда мы все движемся, в каких областях стоит подтянуться, в чём смысол и так далее. Участвую во всех релевантных опросах и вам советую.
Python Software Foundation и JetBrains запустили свой ежегодный опрос: https://surveys.jetbrains.com/s3/c18-python-developers-survey-2020
Кстати, там даже какие-то призы разыгрывают.
P.S. Каждый раз путаюсь в годах во всех этих опросах, потому что StackOverflow УЖЕ публикует результаты за год в начале года, а JetBrains и PSF только начинают опрос в конце года. Когда же уже договорятся? 😩
#jetbrains
Python Software Foundation и JetBrains запустили свой ежегодный опрос: https://surveys.jetbrains.com/s3/c18-python-developers-survey-2020
Кстати, там даже какие-то призы разыгрывают.
P.S. Каждый раз путаюсь в годах во всех этих опросах, потому что StackOverflow УЖЕ публикует результаты за год в начале года, а JetBrains и PSF только начинают опрос в конце года. Когда же уже договорятся? 😩
#jetbrains
Forwarded from Geeks (A. Shpak)
Великодушный диктатор Гвидо Ван Россум известный тем, что является автором языка программирования Python. И сегодня в своем Твиттере он опубликовал сообщение о том, что теперь он сотрудник компании Microsoft. Почему он Великодушный диктатор? Так его называют в сообществе разработчиков, потому что он следит за процессом разработки Python и участвует в принятии ключевых решений. Очень интересное событие, о котором не могу не написать одной строкой. И я даже впервые за всю историю этого канала пишу пост с телефона!
https://twitter.com/gvanrossum/status/1326932991566700549
https://twitter.com/gvanrossum/status/1326932991566700549