uz
Feedback
Питонические атаки

Питонические атаки

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
1 299
Obunachilar
Ma'lumot yo'q24 soatlar
-37 kunlar
-1130 kunlar
Postlar arxiv
Вы же знаете, что по умолчанию для работы с текстовыми файлами Python использует кодировку UTF-8 на Unix, но не на Windows? Там он возьмёт системную кодировку, типа Win-1251, в зависимости от локали. Это значит, что если не указать кодировку, то программа будет вести себя по-разному на разных платформах, и текстовые файлики с эмодзями, кириллицей и прочими загадочными иероглифами, записанные на macOS, не будут читаться на Windows. Или даже ещё забавнее — файлики, созданные в русифицированной Windows, не будут нормально читаться в какой-нибудь арабской Windows. Это поведение было выбрано, чтобы Python вёл себя привычным для платформы образом и не было проблем с другими программами. Например, можно через Python создать текстовый файл, а затем открыть его в Блокноте, и увидеть там правильные буквы, а не крокозябры — в старых версиях Windows это было очень актуально. С другой стороны, это усложняет переносимость программ — нужно специально везде указывать кодировки явно, чтобы получить одинаковое поведение на разных платформах. Сегодня уже ясно, что пластмассовый мир победил и юникод оказался сильней. Практически повсеместно используется UTF-8. Одна универсальная (пусть и не всегда компактная) кодировка куда практичнее, чем множество узкоспециализированных. И в Python тоже обсуждается переход на UTF-8 везде по умолчанию. Даже на Windows. Но произойдёт это не раньше версии 3.13. Кстати, в 3.10 при помощи флажка уже можно включить ворнинги, и поймать все места, где у вас при работе с текстовым вводом-выводом не указана кодировка явно. Это подготовка к всеобщему переходу на UTF-8. #pep #unicode

Переезд с BPO на GitHub Issues начнётся сегодня. Думаю, на выходных оба баг-трекера будут недоступны. Так что если вы вдруг обнаружите баг в питоне, лучше попридержите проблему до понедельника и зашлите её сразу же в GitHub Issues 🌝 https://discuss.python.org/t/github-issues-migration-status-update/14573

Уже 3.10.4 вышел. Каждую неделю релизы, ух! Ничего особо не поменялось, но починили сборку на старом-старом CentOS 6. https://discuss.python.org/t/python-3-10-4-and-3-9-12-are-now-available-out-of-schedule/14568

Кубок 🏆 в школьном соревновании по программированию черепашьей графики на Python. Выглядит круто! https://www.reddit.com/r/Python/comments/ti7uyh/i_teach_python_for_middle_and_high_schoolers_i/

Кстати, как вы читаете имя нашего польского developer in residence?
Anonymous voting

Meta (ага, та самая ныне экстремистская организация) продолжает донатить крупные суммы денег в Python Software Foundation. Напомню, что Python является для них довольно важной платформой — они даже поддерживают свой форк интерпретатора Cinder и пилят тайп-чекер pyre. Благодаря этому пожертвованию, доказавшая свою успешность программа “Developer in residence” продляется еще как минимум на год. Łukasz Langa продолжает трудиться над нуждами проекта фулл-тайм до 2023. https://pyfound.blogspot.com/2022/03/meta-deepens-its-investment-in-python.html

На самом деле PEP-594 уже давнишний, но ему постоянно переносят версии удаления. Наверное, чтобы подольше сохранить совместимость с Python 2 и не создавать лишних проблем обновляющимся. Вот, знайте, в 3.11 грядет большое количество новых депрекейшнов, а в 3.12 уже будут удалять.

Repost from Chernov sharit
А вы говорите у вас на проекте legacy. Тут в python закинули PEP по удалению неиспользуемых батареек и большинство датируется
А вы говорите у вас на проекте legacy. Тут в python закинули PEP по удалению неиспользуемых батареек и большинство датируется 90х годами. https://peps.python.org/pep-0594/ #python

В Python 3.11 стандартная библиотека пополнится модулем tomllib — как можно догадаться по названию, это про работу с TOML файлами. TOML уже стал популярным форматом для описания конфигурации, но до сих пор работа с ним в питоне возможна только через сторонние модули. Отсутствие в стандартной библиотеке модуля для работы с этим форматом создаёт сложности для разного тулинга, который хочет читать оттуда свои настройки — форматтеры, линтеры, утилиты, связанные с управлением зависимостями и пакетированием. Особенно страдают именно утилиты из последней категории, например, pip или pipenv — они не могут позволить себе зависеть от сторонних пакетов. Им приходится просто вендорить стороннюю библиотеку к себе в код (Ctrl+C, Ctrl+V🗿). Пока что tomllib будет уметь только читать формат. Интерфейс, по традиции, похож на json (load и loads). Запись решили не делать, потому что сложно, много нюансов, и мало кому нужно. Сейчас есть тенденция на вынос разного старого ненужного из разросшейся стандартной библиотеки языка (те самые подтекающие батарейки 🪫), да и новые модули без большой нужды стараются не добавлять. Но TOML обещает стать новым стандартом для конфигурации в экосистеме Python (как уже стал в некоторых других экосистемах), так что добавление такой библиотеки точно оправдано. https://peps.python.org/pep-0680.html #pep #toml

Недавно вышел mypy 0.940 с экспериментальной поддержкой паттерн-матчинга из Python 3.10. Тайп-чекер умеет выполнять проверку на полноту (exhaustiveness checking) для енумов и юнион-типов. Это полезно! https://mypy-lang.blogspot.com/2022/03/mypy-0940-released.html #mypy

В репо faster-cpython выложили результаты сравнения производительности ветки main (это будет 3.11) с 3.10. И по большинству бенчмарков оно и правда становится быстрее! https://github.com/faster-cpython/ideas/blob/main/main-vs-310.rst

В PSF в честь Pi Day (14 марта) объявили фандрайзер. Обратите внимание, какие забавные суммы они собирают! https://psfmember.
В PSF в честь Pi Day (14 марта) объявили фандрайзер. Обратите внимание, какие забавные суммы они собирают! https://psfmember.org/civicrm/contribute/transact?reset=1&id=37

А вы знали, что attrs поддерживает Python 2.7? Точнее, теперь об этом уже стоит говорить скорее в прошедшем времени. https://github.com/python-attrs/attrs/pull/936 #python2

Обновился до macOS Monterey 12.3. Подтверждаю, Python 2 пропал. К счастью, для того проекта, где он мне нужен, у меня уже было до обновления создано виртуальное окружение, и оно нормально работает 😅 Так что я пока ничего делать не буду. А вообще, говорят, можно поставить Python 2 из Homebrew. #macos #python2

Кстати, Python 3.10.3 вышел. Так багфиксы и исправления разных секьюрити проблем. Надо обновляться! https://blog.python.org/2022/03/python-3103-3911-3813-and-3713-are-now.html

Вам всегда в питоне не хватало указателей и арифметики над ними? Держите, пользуйтесь, теперь такое есть! (Пожалуйста, не надо) https://github.com/ZeroIntensity/pointers.py

Ещё одна новость, про помощь. Сообщество помогло вывезти близких Сергея Сторчака из Украины и найти им временное жильё. Łukasz Langa даже поехал в Варшаву, чтобы лично их встретить и помочь обустроиться. Из твиттера Сергея: > My sister and her family are near the nuclear power plant, which is a strategic target. My young nephew is in Kyiv and may die in one of the battles. These are the people dearest to me, I live only for them and my mother. Само собой, сам Сергей, как военнообязанный, не может выехать из страны (да и не факт, что хочет). Ну, хотя бы его семья теперь в безопасности. Горд быть частью такого коммьюнити, где люди не только холиварят про синтаксис и запятые, но и поддерживают друг друга, и даже готовы куда-то ехать и тратить не только деньги, но и драгоценные моменты собственной жизни, чтобы кому-то стало спокойнее и безопаснее. https://www.reddit.com/r/Python/comments/t9dd6n/family_of_key_python_contributor_storchaka_has/

Происходящее всё равно никак не получается игнорировать, поэтому все посты получаются немного грустные. Но сегодня и о хорошем тоже напишу. Как минимум двое из core-разработчиков CPython сейчас находятся в Украине — Сергей Сторчака и Андрей Светлов. От Андрея я за последнее время не увидел никаких новостей, а Сергей время от времени освещает в твиттере происходящие вокруг него события. Если следите за развитием Python в последнее время, то вы обязательно слышали эти имена и знаете, какой огромный вклад вносят в проект оба этих человека. Андрей Светлов у меня в основном ассоциируется с асинхронщиной в питоне, а Сергей — он просто вносит какое-то невероятное количество разных фич и фиксов. Серьёзно, открываешь любой ченджлог на любую версию питона за последние 5 лет, и там обязательно будет несколько изменений от Serhiy Storchaka. Кажется, что оба из них находятся в относительной безопасности. Я заключил это по тому, что новые коммиты от них появляются почти каждый день. Удивительно увлечённые своим делом люди! 💪 Надеюсь, что острая фаза пиздеца поскорее закончится и что грустных новостей дальше будет меньше. Берегите себя!

> Это происходит не по вашей вине, и мы приносим вам свои глубочайшие извинения. Такие простые слова, но чёт тронуло. Наверное, на контрасте. Просто последние недели я каждый день читаю эти отвратительные прощальные письма с нотками осуждения по типу «ты, лично ты — агрессор, поэтому мы тебе всё и отключаем». Ну, либо просто сухие официальные, что не сильно лучше. А тут как-то по-человечески прям. И сразу же понимаешь, что JetBrains во всей этой ситуации тоже вроде как пострадавшие. Они ведь довольно сильно связаны с Россией, хоть никогда и не были российской компанией. #jetbrains