📌 Получение длины вещественного числа
Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество 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() к итоговому списку.
📕 Документация
#урок
📌 Python Development Mode
Новинка в Python 3.7. Включается с помощью аргумента
- не закрывает файлы после работы
- использует корутины без await
- передаёт неизвестную кодировку в
📕 Документация
#урок
Новинка в Python 3.7. Включается с помощью аргумента
-X dev
при запуске скрипта. Выводит предупреждения, если разработчик что-то делает не так:- не закрывает файлы после работы
- использует корутины без await
- передаёт неизвестную кодировку в
str.encode()
- неправильно пользуется памятью📕 Документация
#урок
Шпаргалка по pandas
• Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science. Такая шпаргалка поможет в построении различных диаграмм с использованием pandas
🧷 https://cheatography.com/zayd/cheat-sheets/pandasplotting/
#Шпаргалка
• Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science. Такая шпаргалка поможет в построении различных диаграмм с использованием pandas
🧷 https://cheatography.com/zayd/cheat-sheets/pandasplotting/
#Шпаргалка
📌
Мы можем задать
Задать значение константе из приложения не получится, выдаст
📕 Документация
#урок
__debug__
Если скрипт не запущен с аргументом -O
, у константы будет значение True. В таком случае выражение assert выполнится всегда.Мы можем задать
__debug__
значение False, выполнив скрипт с -O
и ускорить работу проекта, убрав проверку на ошибки с assert. Задать значение константе из приложения не получится, выдаст
SyntaxError
в Python 3.10+ или NameError
.📕 Документация
#урок
📌 Считаем число "Души" (нумерология).
• Есть такая эзотерическая концепция "Нумерология", согласно которой числа определяют нашу жизнь и существование всего, что нас окружает. Так вот, в ней есть понятие "числа души человека", которое считается сложением всех цифр в дате его рождения, пока не получится число, которое меньше 10. То есть число от 1 до 9.
• Например, есть дата рождения 29.09.2019 г. Тогда число души считается следующим образом:
2 + 9 + 9 + 2 + 2 + 2 = 26
2 + 6 = 8
• Изобразим подсчет числа "Души" на языке Python. Для краткости, воспользуемся понятием выражения генератора-списка:
📕 Документация
#урок
• Есть такая эзотерическая концепция "Нумерология", согласно которой числа определяют нашу жизнь и существование всего, что нас окружает. Так вот, в ней есть понятие "числа души человека", которое считается сложением всех цифр в дате его рождения, пока не получится число, которое меньше 10. То есть число от 1 до 9.
• Например, есть дата рождения 29.09.2019 г. Тогда число души считается следующим образом:
2 + 9 + 9 + 2 + 2 + 2 = 26
2 + 6 = 8
• Изобразим подсчет числа "Души" на языке Python. Для краткости, воспользуемся понятием выражения генератора-списка:
📕 Документация
#урок
📌 Type hints
Подсказки, которые никак не влияют на работу приложения, нужные только IDE и программисту, чтобы разработчику было проще писать код.
Type hints помогают автодополнению в IDE понять, что за тип у этой переменной и предложить правильные команды.
Также если передать неправильный тип данных, то IDE выдаст предупреждение, но ошибки не будет.
#урок
Подсказки, которые никак не влияют на работу приложения, нужные только IDE и программисту, чтобы разработчику было проще писать код.
Type hints помогают автодополнению в IDE понять, что за тип у этой переменной и предложить правильные команды.
Также если передать неправильный тип данных, то IDE выдаст предупреждение, но ошибки не будет.
#урок
Как бесплатно получить годовую лицензию на PyCharm Pro
• Для старта в Python достаточно и бесплатной Community версии. Однако, чтобы к моменту вашего развития у вас бесплатно появилась Professional версия, нужно после освоения git создать свой публичный репозиторий и регулярно вносить в него изменения не менее 3 месяцев.
• После этого можно попросить годовую лицензию.
🧷 https://youtu.be/8B4aUGGZIF0
#Видео
• Для старта в Python достаточно и бесплатной Community версии. Однако, чтобы к моменту вашего развития у вас бесплатно появилась Professional версия, нужно после освоения git создать свой публичный репозиторий и регулярно вносить в него изменения не менее 3 месяцев.
• После этого можно попросить годовую лицензию.
🧷 https://youtu.be/8B4aUGGZIF0
#Видео
📌
Модуль хранит в себе абстрактные классы такие объектов. Их можно использовать в качестве аннотаций, базовых классов.
📕 Документация
#урок
collections.abc
У классов есть магические методы и каждый такой метод образует объект определённого типа: __call__
— Callable (функцию), __len__
— Sized.Модуль хранит в себе абстрактные классы такие объектов. Их можно использовать в качестве аннотаций, базовых классов.
📕 Документация
#урок
Полиморфизм в Python. Что такое Утиная типизация?
• Сегодня разговор пойдет про третьего кита в ООП - Полиморфизм. Как обычно нас будет интересовать, что это такое и зачем это нужно программисту.
• Если не вдаваться в теории, то полиморфизм о котором вам нужно знать и о котором спросят на собеседовании - это механизм, позволяющий выполнять один и тот же код по-разному.
• Утиная типизация в свою очередь означает механизм, когда для работы во главу угла ставится поведение, а не принадлежность к какому-либо классу.
🧷 https://youtu.be/MwsIOSZAkN8
#Видео
• Сегодня разговор пойдет про третьего кита в ООП - Полиморфизм. Как обычно нас будет интересовать, что это такое и зачем это нужно программисту.
• Если не вдаваться в теории, то полиморфизм о котором вам нужно знать и о котором спросят на собеседовании - это механизм, позволяющий выполнять один и тот же код по-разному.
• Утиная типизация в свою очередь означает механизм, когда для работы во главу угла ставится поведение, а не принадлежность к какому-либо классу.
🧷 https://youtu.be/MwsIOSZAkN8
#Видео
Почему not not value быстрее bool в Python?
• В данном видео узнаем почему not not value быстрее bool в Python. Рассмотрим примеры и сделаем тесты производительности.
• Также стоит добавить, что вам не нужно использовать такую запись в вашем коде, хоть это и работает быстрее.
🧷 https://youtu.be/r6mOP2enJYo
#Видео
• В данном видео узнаем почему not not value быстрее bool в Python. Рассмотрим примеры и сделаем тесты производительности.
• Также стоит добавить, что вам не нужно использовать такую запись в вашем коде, хоть это и работает быстрее.
🧷 https://youtu.be/r6mOP2enJYo
#Видео
Хешируем строки
Хеширование — это преобразование массива (в нашем случае — строки) любой длинны в набор битов фиксированной длинны.
С помощью него удобно проверять целостность файлов. Также, с помощью него прячут пароли в базах данных и делают ещё много чего другого.
Для работы с этим в Python есть библиотека hashlib. Она содержит в себе SHA256, SHA384, SHA512, MD5 и другие хэш-функции.
Всё, что вам надо — создать экземпляр необходимой функции (в нашем случае — MD5) и заполнить его значениями с помощью update().
Далее вы можете получить данные, используя digest() в байтовом виде или hexdigest() в шестнадцатеричном виде.
📌 Документация
#Урок
Хеширование — это преобразование массива (в нашем случае — строки) любой длинны в набор битов фиксированной длинны.
С помощью него удобно проверять целостность файлов. Также, с помощью него прячут пароли в базах данных и делают ещё много чего другого.
Для работы с этим в Python есть библиотека hashlib. Она содержит в себе SHA256, SHA384, SHA512, MD5 и другие хэш-функции.
Всё, что вам надо — создать экземпляр необходимой функции (в нашем случае — MD5) и заполнить его значениями с помощью update().
Далее вы можете получить данные, используя digest() в байтовом виде или hexdigest() в шестнадцатеричном виде.
📌 Документация
#Урок