#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
​​💻 Практика программирования на 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 Python School
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
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