#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
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
Forwarded from Python Academy
Пишем обратно совместимый код

С помощью пакета six можно писать код, который запустится и на Python 2, и на Python 3. То есть код получается обратно совместимым.

Для этого в пакете есть все типы, функции и некоторые модули стандартной библиотеки, которые под капотом работают по-разному в зависимости от версии языка.

Например, в пакете поддерживаются tkinter и urllib. Полная документация проекта находится тут.

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

#six
Forwarded from Python Academy
Проверка отношения классов

Для того, чтобы проверить отношения двух классов или экземпляров (является ли класс классом наследником), есть две простые встроенные функции isinstance(object, classinfo) и issubclass(class, classinfo).

instance - возвращает True, если объект является экземпляром класса либо экземпляром подкласса данного класса.
issubclass — проверяет является ли класс наследником другого класса.

Данные функции зачастую применяются в ООП.

#isinstance #issubclass
Forwarded from Python Academy
Набор на стажировку по бэкенд-разработке в Яндекс (C++, Python, Go) ⚡️⚡️

🔸 От 3 до 6 месяцев оплачиваемой стажировки бок о бок с ментором, возможность получить практический опыт и применить свои знания в работе над реальными продуктами Яндекса.

🔸 Преимущество стажировки в течение года — её удобно совмещать с учёбой. Вы сможете выбрать занятость 20, 30 или 40 часов в неделю и договориться с командой о комфортном для себя графике.

🔸 Где проходит стажировка: Москва, Санкт-Петербург, Екатеринбург, Новосибирск

🔸 Как проходит отбор: тестовое задание на платформе Яндекс.Контест, 2-3 технических интервью и финальные встречи с командами.

🔸 Решить задачи прошлых лет и оценить свой уровень знаний можно здесь. Результаты ни на что не влияют.

👉 Подать заявку и узнать больше: https://clck.ru/YLsKi
Forwarded from Python Academy
Делаем планировщик задач 

К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени. 

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

Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах. 

#schedule
Forwarded from Python Community
⚡️ Генераторные списки

Генераторные списки — синтаксическая конструкция, позволяющая превращать циклические конструкции в одну строку.

Выглядит она так: [expression for member in iterable], где expression — значение, которое будет записано в список, member — переменная, в которую записывается результат прохода по циклу и iterable — итерируемый объект, с которым работает конструкция.

Такое можно проделывать не только со списками, а и с кортежами, множествами, просто заменив квадратные скобки на круглые или фигурные (в зависимости от типа).

Если же скобки убрать, то мы получим обычный генератор, который можно использовать так, как захочется (например с функцией sum).

#теория
Forwarded from Python Community
⚡️ Ускоряем выполнения кода

Для этого нам может пригодится Cython, модуль переводящий код из языка Python в C с минимальным количеством изменений.

Установка: pip install cython

Основное различие между кодом python и cython в том, что cpdef, cdef, def передают название переменных/функций. cpdef используется при создании кода, доступного и из python и из cython, когда cdef доступен только для второго.

После — компилируем код с помощью скрипта из второго файла и запускаем его командой python3 setup.py build_ext --inplace.

В результате мы получим файл с си кодом. Мы можете открыть интерпретатор python и импортировать функцию test командой from cython_ex import test

#миниурок #cython
Forwarded from Python Community
⚡️ Оператор моржа

Данный оператор доступен с версии Python 3.8. Он позволяет записывать данные в переменную и выполнять определённое действие.

С ним можно избежать повторного использования одной и той же функции.

Записывается оператор моржа так var_name := value, где := это и есть оператор. Подробнее о нём можете почитать в PEP 572.

Применения у него множество, например, в генераторных списках, циклах, при вызове функции и других выражениях.

#теория
Forwarded from Python Community
⚡️ Выполняем команды прямо в терминале

sh
— интересный модуль с открытым исходным кодом, позволяющий запускать команды из системы Python. Он намного проще, чем subprocess.

Установка: pip install sh

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

Вы также можете перенаправлять вывод, «запечатывать» команды и создавать подкоманды — в этом и заключается преимущество модуля.

#миниурок #sh
Forwarded from Python Community
⚡️ Обрабатываем аргументы командной строки

argparse
— встроенный модуль, позволяющий обработать данные, переданные при запуске скрипта из терминала.

На самом деле, argparse, является обёрткой над sys.argv и, если у вас простенький скрипт, который принимает 1-2 аргумента, то я советую получать аргументы напрямую из sys.

А если вам нужно больше возможностей, то просто создайте класс ArgumentParser, который сгенерирует базовые команды (-h, --help), описание и название программы.

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

#миниурок #argparse
Forwarded from Python Community
⚡️ Системный модуль в Python

sys — предустановленный модуль, обеспечивающий доступ к функция и переменным интерпретатора Python.

Данный модуль имеет огромное количество функций и переменных, подробнее о них можете почитать на сайте документации. Здесь же будут самые интересные из них:

sys.platform — позволяет узнать платформу, на которой запущен Python и, на её основе выполнить определённый код. Также, она возвращает строку. Все значения тут.

sys.stdin — файловая переменная, позволяющая получить данным к входным данным из терминала.

sys.stdout, sys.stderr — файловые переменные позволяющие выводить в терминал сообщения/ошибки.

sys.version_info — позволяет узнать версию языка, на котором запускается скрипт. Возвращает кортеж. Если же вам нужна строка, воспользуйтесь sys.version

#миниурок #sys
Forwarded from Python Community
⚡️ Разница между __str__ и __repr__

Довольно часто при создании собственного класса, необходимо выводить данные о нём в виде строки. Документация говорит использовать __str__ и __repr__, но в чём же между ними разница?

__str__() — метод, который превращает объект в более читаемый вид, понятный для пользователя программы. Если же он не определён, то вызывает __repr__

__repr__()
— метод, используемый программистами. Это — строка, позволяющая создать новый объект с такими же данными, используя функцию eval.

#теория #str
Forwarded from Python Community
remove_comments.py
264 B
⚡️ Задачка с собеседования | #Medium

Условие:

Ваша задача — написать функцию, которая возвращает строку без комментариев.

Примеры находятся в файле выше.

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования