#python python... PYTHON 🔛 🚀
11 subscribers
919 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from Python Academy
Аннотация типов

Тайп хинтинг был добавлен в python еще в версии 3.5 вместе с библиотекой typing, в которой содержались структуры нужные для создания дженериков для аннотирования переменных. Тогда синтаксис аннотирования работал при инициализации переменных. В последствии в версии 3.6 эта возможность была расширена и стало возможно объявлять типы переменных вообще в любом месте кода.

В python 3.9 была добавлена возможность использовать в качестве дженериков для аннотирования встроенные коллекции, вместо структур typing'а (List, Dict, Tuple...).

И наконец в 3.10 на замену перечисления возможных принимаемых типов через typing.Union пришел опреатор | (or). Также в 3.10 был изменен синтаксис создания тайпалиасов, чтобы разграничить с присваиванием переменной, теперь лучше это делать непосредственно через TypeAlias.

#typing #typealias
Forwarded from Python Academy
Импорт антигравитации

Достаточно старая, но все же интересная пасхалка: если в коде прописать import __antigravity__, то при запуске скрипта откроется страница в браузере, которая содержит шутку про то, насколько же всё-таки язык простой.

#пасхалки
Forwarded from DataWorkshop - AI & ML
4 октября 2021 вышел релиз Python - 3.10.

Приведем самые интересные обновления из последней версии:

1️⃣Улучшенные сообщения об ошибках
Более точные сообщения об ошибках для многих распространенных проблем.

2️⃣Предложены новые встроенные функции aiter() и anext() с реализацией асинхронных аналогов функциям iter() и next().

3️⃣Реализованы операторы "match" и "case" для сопоставления с образцом, которые позволяют улучшить читаемость кода, упростить сопоставление произвольных Python-объектов и повысить надёжность кода.

4️⃣Предоставлена возможность использования круглых скобок в операторе with для разнесения на несколько строк определения коллекции контекстных менеджеров.

5️⃣Для отладочных инструментов и профилировщиков обеспечено указание в событиях трассировки точных номеров строк выполненного кода.

6️⃣ В модулях hashlib и ssl добавлена поддержка OpenSSL 3.0.0 и прекращена поддержка версий OpenSSL меньше 1.1.1.

7️⃣ Объявлен устаревшим модуль distutils, который запланирован для удаления в Python 3.12.
Forwarded from Python Academy
Аннотация типов

Тайп хинтинг был добавлен в python еще в версии 3.5 вместе с библиотекой typing, в которой содержались структуры нужные для создания дженериков для аннотирования переменных. Тогда синтаксис аннотирования работал при инициализации переменных. В последствии в версии 3.6 эта возможность была расширена и стало возможно объявлять типы переменных вообще в любом месте кода.

В python 3.9 была добавлена возможность использовать в качестве дженериков для аннотирования встроенные коллекции, вместо структур typing'а (List, Dict, Tuple...).

И наконец в 3.10 на замену перечисления возможных принимаемых типов через typing.Union пришел опреатор | (or). Также в 3.10 был изменен синтаксис создания тайпалиасов, чтобы разграничить с присваиванием переменной, теперь лучше это делать непосредственно через TypeAlias.

#typing #typealias
Forwarded from Python Academy
Операции с zip архивами 

Для работы с zip файлами можно использовать встроенный модуль zipfile. Если кто не помнит, то zip файл — это архив, содержащий сжатые файлы. 

Просмотреть содержимое архива можно с помощью функции printdir, а извлечь все файлы можно вызвав extractfile

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

#zipfile
#вопрос147

Чем отличается кортеж от списка в Python?
​​💻 Практика программирования на Python 3

Невероятно полезные лекции от Тимофея Хирьянова – преподавателя кафедры информатики МФТИ, который также работает в онлайн-школе Foxford.

1. Лекция №1 — [1:21:58]
2. Лекция №2 — [1:15:52]
3. Лекция №3 —[1:17:38]
4. Лекция №4 — [1:14:31]
5. Лекция №5 — [1:16:49]
6. Лекция №6 — [1:10:56]
7. Лекция №7 — [1:07:17]
8. Лекция №8 — [1:20:17]
9. Лекция №9 — [1:22:10]
10. Лекция №10 — [1:17:44]
11. Лекция №11 — [1:15:27]
12. Лекция №12 — [1:22:16]
13. Лекция №13 — [1:16:45]
14. Лекция №14 — [52:20]

Перейти к плейлисту

#видео
​​Начнем работу с Mock в Python

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

Читать...
Forwarded from Однажды в трендах
pprint

Стандартная функция Python print() делает своё дело. Но если попытаться вывести какой-нибудь большой вложенный объект, результат будет выглядеть не очень приятно.

Здесь на помощь приходит модуль из стандартной библиотеки pprint (pretty print). С его помощью можно выводить объекты со сложной структурой в читабельном виде.

Мастхэв для любого Python-разработчика, работающего с нестандартными структурами данных
Forwarded from # pip install (Student B.)
Оператор match, который появится в Python 3.10, выглядит очень интересно. С подробным описанием и руководством можете ознакомиться здесь: https://www.python.org/dev/peps/pep-0636/

По сути он напоминает оператор switch в C, но более мощный.
*
Однако, важно отметить, что его синтаксис может значительно отличаться от switch. Конструкции case не просто проверяют равенство, оно повторно связывают переменные, которые соответствуют определенному шаблону.
*
Предполагаю, внедрение нового синтаксиса может сильно запутать пользователей...
*
Я не уверен, можно ли использовать match со значением переменной, которая его представляет, а не с соответствующим шаблоном. Данный вопрос был задан на StackOverflow, можете ознакомиться, если интересно: https://stackoverflow.com/questions/66159432/python-match-statement-how-to-use-values-stored-in-variables
Forwarded from # pip install (Student B.)
Python 3.9.2rc1 и 3.8.8rc1 теперь доступны для тестирования

С радостью сообщаем о двух новых релизов – Python 3.9.2rc1 и Python 3.8.8rc1.

Можете скачать их прямо сейчас:
https://www.python.org/downloads/release/python-392rc1/
https://www.python.org/downloads/release/python-388rc1/
Если критические проблемы не будут обнаружены, оба релиза станут финальными версиями в понедельник, 1 марта.

Следующий выпуск полного регулярного обслуживания Python 3.8 запланирован на 3 мая 2021 года. После этого он переключится только на исходные версии для исправления ошибок безопасности. Техническая поддержка для серии 3.9 будет продолжаться с регулярными интервалами два раза в месяц. При этом релиз версии 3.9.3 запланирован на начало мая 2021 года.
Forwarded from # pip install (Student B.)
Изменения в безопасности текущих релизов:
• bpo-42967: Исправление уязвимости, связанной с отравлением веб-кеша через назначение символа & в качестве разделителя аргументов запроса и предоставления пользователю возможности выбора собственного разделителя;
• bpo-42938: Избежание статических буферов при вычислении значений ctypes.c_double и ctypes.c_longdouble.

Что нового?
- Серия Python 3.9.* содержит много новых функций и оптимизаций по сравнению с 3.8. Просмотрите документ "Что нового в Python 3.9" (https://docs.python.org/3.9/whatsnew/3.9.html) для получения дополнительной информации о функциях, включенных в серию 3.9. У нас также есть подробный лог изменений специально для 3.9.2rc1 (https://docs.python.org/release/3.9.2rc1/whatsnew/changelog.html#changelog).
- Подробную информацию обо всех изменениях, внесенных в версию 3.8.8rc1, можно найти в логе изменений (https://docs.python.org/release/3.8.8rc1/whatsnew/changelog.html#python-3-8-8-release-candidate-1).
Forwarded from # pip install
🔥 Алгебраические типы данных и Python

Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:

"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы данных, и уж тем более алгебраические..."

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

🎯 Telegram Чат: @python_scripts

Подробнее: https://habr.com/ru/post/566920/
Forwarded from # pip install
Краткая история о том, как развернуть веб-сервер Flask в docker контейнере

Для чего вообще нужен docker контейнер? Обычно, во время разработки, для каждого проекта вы настраиваете своё окружение. Но вот произошла такая ситуация: что-то случилось с вашим компьютером и приходится переустанавливать операционную систему(ОС). Соответственно, чтобы запустить ваш проект, необходимо настраивать окружение заново.

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

🎯 Telegram Чат: @python_scripts

Подробнее: https://habr.com/ru/company/megafon/blog/541826/
Forwarded from Big data world
🖥 Pip vs Conda: подробное сравнение двух систем упаковки Python Если вы используете Python в мире науки о данных или научных вычислений, вы скоро обнаружите, что Python имеет две разные системы упаковки: pip и Conda. ✔️Насколько они разные?
✔️Каковы компромиссы между ними?
✔️Что вам следует использовать? https://cutt.ly/qRfDwzJ
​​Начнем работу с Mock в Python

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

Читать...
Forwarded from Python Academy
Книги по Python - самый большой канал с книгами по Python в телеграм.

Что в нашем канале:

1. Книги по питону, которые помогут вам пройти собеседование на позицию Python Developer.

2. Задачи по питону, которые вы можете получить на собеседовании: @pythonquestions

3. Всё, никакой другой воды.

Скачать все книги можно в 2 клика.
Вместе с автором курса «Python-разработчик» в Яндекс.Практикуме мы собрали список самых необходимых программ и инструментов начинающего разработчика: от редакторов кода и систем контроля версий до ресурсов с ответами на частые вопросы 👉🏻

https://clck.ru/YPPnW