📌 Избавляемся от отступов в многострочных строках
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
📕 Документация
#урок
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
textwrap.dedent()
.📕 Документация
#урок
🧩 Что не нужно делать при помощи Python
• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.
🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python
#Статья
• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.
🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python
#Статья
📌 contextvars — недооценённая возможность Python
Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.
То есть вы задаёте значение и сохраняете его в contextvars и создаёте дочернюю функцию на обработку. Когда наступит время, она возьмёт нужную информацию из контекста.
К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.
Доступно с Python 3.7
#урок
Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.
То есть вы задаёте значение и сохраняете его в contextvars и создаёте дочернюю функцию на обработку. Когда наступит время, она возьмёт нужную информацию из контекста.
К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.
Доступно с Python 3.7
#урок
Что такое Python и почему вы захотите его изучить?
• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.
🧷 https://youtu.be/MunPNYumw6M
#Видео
• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.
🧷 https://youtu.be/MunPNYumw6M
#Видео
📌 pytest — лучший фреймворк для теста
Тестировать код нужно обязательно. Есть даже отдельная методология — TDD, где ты сначала пишешь тесты, а потом только код. Лучшим решением в Python для этого будет pytest.
Почему лучшим? Потому что это самая популярная система, а значит по ней много уроков и вопросов с ответами на StackOverflow.
Ещё фреймворк довольно быстрый и простой в использовании. Несколько строчек и вы уже знаете, где у вас ошибка.
📕 Документация
#урок
Тестировать код нужно обязательно. Есть даже отдельная методология — 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
#Видео
• Обзор ускоренного курса 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. Он вам может пригодиться только на собеседовании.
📕 Документация
#урок
В старых языках (C++, asm) мы, как программисты, должны были самостоятельно убирать остатки работы после себя: созданные классы, огромные куски данных, коллекции.
В современных языках (Java, C#, Python, JavaScript) есть сборщики мусора, которые занимаются очищением памяти. Они удаляют объекты, если те никому не нужны (на них больше нет ссылок).
В Python даже есть отдельный модуль для взаимодействия со сборщиком мусора — gc. Он вам может пригодиться только на собеседовании.
📕 Документация
#урок
Шпаргалка по основам Python
• Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке
🧷 https://cheatography.com/davechild/cheat-sheets/python/
#Шпаргалка
• Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке
🧷 https://cheatography.com/davechild/cheat-sheets/python/
#Шпаргалка
📌 Виртуальное окружение Python
Библиотека, которую использует приложения для работы называется зависимостью. Чтобы не захламлять систему, модули, относящиеся к одному проекту решили отделять в виртуальные окружения.
Виртуальное окружение это папка с исполняемыми файлами (python, pip) и библиотеками. Она встречается под именем venv.
Окружение автоматически создаётся в PyCharm или командой:
📕 Документация
#урок
Библиотека, которую использует приложения для работы называется зависимостью. Чтобы не захламлять систему, модули, относящиеся к одному проекту решили отделять в виртуальные окружения.
Виртуальное окружение это папка с исполняемыми файлами (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/
#Шпаргалка
Шпаргалка собрала большое количество информации о регулярках, включая:
• Специальные символы;
• Объекты Match;
• Методы модуля re;
• Escape-символы;
• Raw String Notation;
• Расширения;
• Объекты;
• Флаги;
• Ссылки на документацию: Regular Expression HOWTO и Regular expression operations.
🧷 https://cheatography.com/mutanclan/cheat-sheets/python-regular-expression-regex/
#Шпаргалка
📌
Добавьте
Функция выполнится до yield, остановится и передаст управление блоку with, после продолжит выполнять функцию.
#урок
contextlib.contextmanager
Чтобы сделать переход из одной папки в другу с использованием with потребуется класс на 10 строк кода. Ситуация исправляется декоратором contextmanager
.Добавьте
@contextmanager
на функцию и она станет доступна для работы с with. Теперь, для того же перехода, нужно 7 строк кода.Функция выполнится до yield, остановится и передаст управление блоку with, после продолжит выполнять функцию.
#урок
📌 Получение длины вещественного числа
Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество set, т.к. множество представляет собой последовательность неповторяющихся элементов.
📕 Документация
#урок
Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество set, т.к. множество представляет собой последовательность неповторяющихся элементов.
📕 Документация
#урок
📌 Масштабируемый Telegram бот на Django
Telegram бот может приносить неплохой пассивный доход. Но, разрабатывать действительно хорошие приложения трудно, особенно новичкам.
Автор рассказывает как он писал бота, которым смогут пользоваться сотни тысяч пользователей, какие технологии использовал и почему.
Читать статью
#урок
Telegram бот может приносить неплохой пассивный доход. Но, разрабатывать действительно хорошие приложения трудно, особенно новичкам.
Автор рассказывает как он писал бота, которым смогут пользоваться сотни тысяч пользователей, какие технологии использовал и почему.
Читать статью
#урок
Разбор тестового задания Python-Developer
• Введение
• Описание вакансии
• Описание тестового задания
• Начало разбора кодовой базы
• Механика создания объекта-приложения с сущностями
• Коротко о хэндлерах
• Структура базы и накатывание миграций в Postgresql
• Создание индекса в Elasticsearch
• Docker-compose файл для локальной разработки
• Хэндлер создания документа
• Создание инфраструктуры для тестирования асинхронного кода с настоящими БД с помощью Docker и pytest
• Тест для хэндлера создания документа
• Хэндлер удаления документа
• Тест для хэндлера удаления документа
• Хэндлер полнотекстового поиска
• Тест для хэндлера полнотекстового поиска
• Локальный деплой с помощью Docker / Docker-compose
• Выводы
• Заключение
🧷 https://youtu.be/goEs0Txs8KY
#Видео
• Введение
• Описание вакансии
• Описание тестового задания
• Начало разбора кодовой базы
• Механика создания объекта-приложения с сущностями
• Коротко о хэндлерах
• Структура базы и накатывание миграций в Postgresql
• Создание индекса в Elasticsearch
• Docker-compose файл для локальной разработки
• Хэндлер создания документа
• Создание инфраструктуры для тестирования асинхронного кода с настоящими БД с помощью Docker и pytest
• Тест для хэндлера создания документа
• Хэндлер удаления документа
• Тест для хэндлера удаления документа
• Хэндлер полнотекстового поиска
• Тест для хэндлера полнотекстового поиска
• Локальный деплой с помощью Docker / Docker-compose
• Выводы
• Заключение
🧷 https://youtu.be/goEs0Txs8KY
#Видео
Forwarded from T | Контент
Пишем 3 программы на Python за 5 минут
• Питон все же крутая штука! За урок мы разработаем три вполне хорошие программки, что можно спокойно использовать в вашей повседневной работе. И да, постараемся уложится в 5 минут!
🧷 https://youtu.be/uFzNc7D44HI
#Видео
• Питон все же крутая штука! За урок мы разработаем три вполне хорошие программки, что можно спокойно использовать в вашей повседневной работе. И да, постараемся уложится в 5 минут!
🧷 https://youtu.be/uFzNc7D44HI
#Видео
📌 Exception Chaining
Это связывание нескольких ошибок в один traceback. Используется, если при обработке исключения нужно добавить информацию или изменить тип.
Исключение, добавленное с
📕 PEP 3134
#урок
Это связывание нескольких ошибок в один traceback. Используется, если при обработке исключения нужно добавить информацию или изменить тип.
Исключение, добавленное с
raise ... from exc
, сохраняется в __cause__
. Если ошибка произошла во время выполнения try/except, то она запишется в __context__
. 📕 PEP 3134
#урок
📌 Иерархия ошибок
Встроенные ошибки наследуются от Exception, их «родственность» вы видите на фотографии.
Если поставить
Поэтому важно знать к какому типу какие ошибки относятся и не ставить
#урок
Встроенные ошибки наследуются от Exception, их «родственность» вы видите на фотографии.
Если поставить
except LookupError
раньше чем except IndexError
, то второй обработчик никогда не сработает, ошибку обработает первый except.Поэтому важно знать к какому типу какие ошибки относятся и не ставить
except OSError
поверх FileExistsError
.#урок
🧩 Распределение памяти в Python: сколько и в каких случаях занимают типы данных
• В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
🧷 https://tproger.ru/articles/raspredelenie-pamjati-v-python-skolko-i-v-kakih-sluchajah-zanimajut-tipy-dannyh/
#Статья
• В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
🧷 https://tproger.ru/articles/raspredelenie-pamjati-v-python-skolko-i-v-kakih-sluchajah-zanimajut-tipy-dannyh/
#Статья
🧩 Превращаем код на Python в исполняемый EXE-файл
• В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
• Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
🧷 https://tproger.ru/articles/prevrashhaem-kod-na-python-v-ispolnjaemyj-exe-fajl/
#Статья
• В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
• Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
🧷 https://tproger.ru/articles/prevrashhaem-kod-na-python-v-ispolnjaemyj-exe-fajl/
#Статья
📌 Подсчет суммы цифр в числе
Допустим есть число, целое или вещественное и необходимо подсчитать сумму цифр этого числа. Для того, что бы это сделать нужно это число преобразовать в список входящих в него цифр, а потом применить к полученному списку функцию sum().
Алгоритм действий будет следующим:
• Преобразуем число в строку при помощи функции str();
• Число может быть как int, так и float, следовательно необходимо произвести замену десятичного разделителя '.' при помощи строкового метода str.replace();
• Преобразовываем полученную строку с числом в список строк с цифрами функцией list();
• Далее преобразовываем каждый элемент полученного списка строк с цифрами в список целых чисел используя функцию map();
• Применяем функцию sum() к итоговому списку.
📕 Документация
#урок
Допустим есть число, целое или вещественное и необходимо подсчитать сумму цифр этого числа. Для того, что бы это сделать нужно это число преобразовать в список входящих в него цифр, а потом применить к полученному списку функцию sum().
Алгоритм действий будет следующим:
• Преобразуем число в строку при помощи функции str();
• Число может быть как int, так и float, следовательно необходимо произвести замену десятичного разделителя '.' при помощи строкового метода str.replace();
• Преобразовываем полученную строку с числом в список строк с цифрами функцией list();
• Далее преобразовываем каждый элемент полученного списка строк с цифрами в список целых чисел используя функцию map();
• Применяем функцию sum() к итоговому списку.
📕 Документация
#урок