Python | Программирование
9.87K subscribers
1.82K photos
2 videos
139 files
1.53K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
Что быстрее, [] или list()?

Спойлер: [] быстрее чем вызов функции

На этот вопрос ответит timeit — модуль, замеряющий время выполнения определённых команд.

Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.

Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.

📕 Документация

#урок
Forwarded from CodeCamp
Крутейшая шпаргалка для Python-разработчика начального и среднего уровня: внутри основные инструменты работы, модули, преобразование, контейнеры, условные операторы и т.д.

Если нужно в хорошем разрешении, вот тут можно скачать PDF.
📌 Учим приложения общаться друг с другом

Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.

Установка: pip3 install hug

С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым простым фреймворком для создания оболочки взаимодействия пользователя с приложением.

Всё очень легко, копируем пример с официального сайта и запускаем с помощью hug -f file.py. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.

#урок
📌 else в цикле

Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.

Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.

📕 Документация

#урок
📌 Что такое PEP?

Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.

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

Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.

Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.

#урок
📌 Упрощаем работу с JSON

Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath

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

Это не фича питона, это отдельный язык который используется для обработки данных в JSON. Вы можете искать, сортировать, считать значения.

👨‍💻 Урок по языку

📕 Документация по модулю

#урок
📌 from typing import TypedDict

Новинка в Python 3.8, она позволяет давать аннотации словарям. Это очень удобно, поскольку IDE сразу предлагает ключи, а Python проверяет соответствие типов.

Важной особенностью является то, что в объекте не может быть ключей, которые не определены в классе (иначе выдаст предупреждение).

📕 PEP 589

#урок
🧩 В каких сферах стоит использовать Python

• Язык программирования Python действительно универсален. Он применим во многих сферах информационных технологий, разработки и программирования.

🧷 https://itproger.com/news/v-kakih-sferah-stoit-ispolzovat-python

#Статья
📌 Избавляемся от отступов в многострочных строках

Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.

Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать textwrap.dedent().

📕 Документация

#урок
🧩 Что не нужно делать при помощи Python

• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.

🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python

#Статья
📌 contextvars — недооценённая возможность Python

Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.

То есть вы задаёте значение и сохраняете его в contextvars и создаёте дочернюю функцию на обработку. Когда наступит время, она возьмёт нужную информацию из контекста.

К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.

Доступно с Python 3.7

#урок
Что такое Python и почему вы захотите его изучить?

• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.

🧷 https://youtu.be/MunPNYumw6M

#Видео
📌 pytest — лучший фреймворк для теста

Тестировать код нужно обязательно. Есть даже отдельная методология — TDD, где ты сначала пишешь тесты, а потом только код. Лучшим решением в Python для этого будет pytest.

Почему лучшим? Потому что это самая популярная система, а значит по ней много уроков и вопросов с ответами на StackOverflow.

Ещё фреймворк довольно быстрый и простой в использовании. Несколько строчек и вы уже знаете, где у вас ошибка.

📕 Документация

#урок
Курс Python для начинающих

Обзор ускоренного курса Python
Привет от Питона
Базовые типы
Преобразование между типами
Ложные значения
Выбор названий для переменных и констант
Переменные и динамическая типизация
Базовые типы копируются по значению
Увеличение и уменьшение переменных
Списки
Tuples
Словари
Копирование по ссылке
Наборы
Итоги по типам контейнеров
Установка и настройка Code Runner в VS Code
Функции
Позиционные аргументы
Именованные аргументы
Сбор всех аргументов в tuple
Перебор значений с использованием цикла for...in
Использование kwargs в функциях
Описание функций
Операторы сравнения
Логический оператор and
Оценка короткого замыкания
Логический оператор or
Логический оператор not
Комбинация операторов и приоритет
Условные инструкции if
Форматирование строк
Обработка ошибок с использованием try…except
Модули Python

🧷 https://youtu.be/82DKIKRgAdw

#Видео
📌 Сборщик мусора

В старых языках (C++, asm) мы, как программисты, должны были самостоятельно убирать остатки работы после себя: созданные классы, огромные куски данных, коллекции.

В современных языках (Java, C#, Python, JavaScript) есть сборщики мусора, которые занимаются очищением памяти. Они удаляют объекты, если те никому не нужны (на них больше нет ссылок).

В Python даже есть отдельный модуль для взаимодействия со сборщиком мусора — gc. Он вам может пригодиться только на собеседовании.

📕 Документация

#урок
Шпаргалка по основам Python

• Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке

🧷 https://cheatography.com/davechild/cheat-sheets/python/

#Шпаргалка
📌 Виртуальное окружение Python

Библиотека, которую использует приложения для работы называется зависимостью. Чтобы не захламлять систему, модули, относящиеся к одному проекту решили отделять в виртуальные окружения.

Виртуальное окружение это папка с исполняемыми файлами (python, pip) и библиотеками. Она встречается под именем venv.

Окружение автоматически создаётся в PyCharm или командой: python3 -m venv venv.

📕 Документация

#урок
Регулярные выражения в Python

Шпаргалка собрала большое количество информации о регулярках, включая:
• Специальные символы;
• Объекты Match;
• Методы модуля re;
• Escape-символы;
• Raw String Notation;
• Расширения;
• Объекты;
• Флаги;
• Ссылки на документацию: Regular Expression HOWTO и Regular expression operations.

🧷 https://cheatography.com/mutanclan/cheat-sheets/python-regular-expression-regex/

#Шпаргалка
📌 contextlib.contextmanager

Чтобы сделать переход из одной папки в другу с использованием with потребуется класс на 10 строк кода. Ситуация исправляется декоратором contextmanager.

Добавьте @contextmanager на функцию и она станет доступна для работы с with. Теперь, для того же перехода, нужно 7 строк кода.

Функция выполнится до yield, остановится и передаст управление блоку with, после продолжит выполнять функцию.

#урок
📌 Получение длины вещественного числа

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

📕 Документация

#урок