Самое время побыть Open Source разработчиком
Если вы уверены, что готовы к серьёзным проектам, то можете попробовать себя в Open Source разработке на Github.
К тому же, такое занятие сильно прокачает ваши навыки и сделает более привлекательным в глазах работодателя.
И это совсем не сложно. Есть простые issue, до которых просто не доходят руки у разработчиков. Их список вы можете найти тут.
#урок
Если вы уверены, что готовы к серьёзным проектам, то можете попробовать себя в Open Source разработке на Github.
К тому же, такое занятие сильно прокачает ваши навыки и сделает более привлекательным в глазах работодателя.
И это совсем не сложно. Есть простые issue, до которых просто не доходят руки у разработчиков. Их список вы можете найти тут.
#урок
Полезная шпаргалка для поиска быстрых решений в Python-проектах, охватывает: переменные «sys.argv», методы файлов, списка, даты и времени, переменные ОС Python, индексы, срезы и т.д.
Скачать в формате PDF в широком разрешении можно тут
Скачать в формате PDF в широком разрешении можно тут
📌 Принцип YAGNI
Вам это не нужно. Не добавляйте кнопку, если вас об этом не просили. Не убивайте всё время на супер быстрый движок, если вас об этом не просили.
Инициатива это хорошо, но из-за неё можно потерять время и деньги. Клиенту нужен работающий продукт, а не куча разных фич.
Если вы нарушите принцип то, в лучшем случае, потеряете своё время, в худшем — время команды и деньги клиента.
#урок
Вам это не нужно. Не добавляйте кнопку, если вас об этом не просили. Не убивайте всё время на супер быстрый движок, если вас об этом не просили.
Инициатива это хорошо, но из-за неё можно потерять время и деньги. Клиенту нужен работающий продукт, а не куча разных фич.
Если вы нарушите принцип то, в лучшем случае, потеряете своё время, в худшем — время команды и деньги клиента.
#урок
Работаем с TOML
В версии Python 3.11 появилась новая библиотека — tomllib. Она позволяет работать с форматом TOML.
TOML несколько отличается от других форматов, ведь имеет нативную поддержку массивов, словарей, времени.
📕 Документация
#урок
В версии Python 3.11 появилась новая библиотека — tomllib. Она позволяет работать с форматом TOML.
TOML несколько отличается от других форматов, ведь имеет нативную поддержку массивов, словарей, времени.
📕 Документация
#урок
📌 Всегда случайный ID
Есть такая штучка, как UUID (Universally unique identifier) — универсальный уникальный идентификатор.
Суть в том, что значение идентификаторы всегда уникальные. Если создадите 1 млрд таких, то вероятность встретить двое одинаковых — 0.0000000001%.
Такое можно использовать в базах данных (для задания ключей), что давать имена файлам или в качестве уникальных имён любых веб-источников.
📕 Документация
#урок
Есть такая штучка, как UUID (Universally unique identifier) — универсальный уникальный идентификатор.
Суть в том, что значение идентификаторы всегда уникальные. Если создадите 1 млрд таких, то вероятность встретить двое одинаковых — 0.0000000001%.
Такое можно использовать в базах данных (для задания ключей), что давать имена файлам или в качестве уникальных имён любых веб-источников.
📕 Документация
#урок
📌 Вы знали, что поведение операторов можно менять?
Вся суть в том, что все операторы используют обычные функции, так называемые магические методы.
Мы вполне можем переопределить поведение, изменив код внутри функции. Найти весь список функций и операторов можно в модуле operators.
📕 Документация
#урок
Вся суть в том, что все операторы используют обычные функции, так называемые магические методы.
Мы вполне можем переопределить поведение, изменив код внутри функции. Найти весь список функций и операторов можно в модуле operators.
📕 Документация
#урок
📌 Не бойтесь писать понятный код
Раньше было страшным злодеянием взять и оставить
Например, если у вас есть 355 дней в секундах, можно оставить
В производительности ничего не потеряете, а код сделаете понятнее... Для себя через три месяца
#урок
Раньше было страшным злодеянием взять и оставить
1000 * 60 * 60
, сейчас же все компьютеры умные и могут просчитать выражение ещё до запуска приложения.Например, если у вас есть 355 дней в секундах, можно оставить
60 * 60 * 24 * 355
, так человек быстрее поймёт, откуда взялось это число и что оно значит.В производительности ничего не потеряете, а код сделаете понятнее... Для себя через три месяца
#урок
📌 Замыкание
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
📌 Парсим HTML
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
🐙 GitHub
#урок
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
pip install lxml
Если вы собираете работать с повреждёнными HTML/XML файлами, то выбирайте html5lib, эта библиотека медленная, но стабильная. Если же вам нужно быстренько взять какие-то данные с сайта, не раздумывая, выбирайте lxml.🐙 GitHub
#урок
Что быстрее, [] или list()?
Спойлер:[] быстрее чем вызов функции
На этот вопрос ответит timeit — модуль, замеряющий время выполнения определённых команд.
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
Спойлер:
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
Крутейшая шпаргалка для Python-разработчика начального и среднего уровня: внутри основные инструменты работы, модули, преобразование, контейнеры, условные операторы и т.д.
Если нужно в хорошем разрешении, вот тут можно скачать PDF.
Если нужно в хорошем разрешении, вот тут можно скачать PDF.
📌 Учим приложения общаться друг с другом
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
Всё очень легко, копируем пример с официального сайта и запускаем с помощью
#урок
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
pip3 install hug
С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым простым фреймворком для создания оболочки взаимодействия пользователя с приложением.Всё очень легко, копируем пример с официального сайта и запускаем с помощью
hug -f file.py
. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.#урок
📌 else в цикле
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
📌 Что такое PEP?
Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.
Здесь описываются не только предложения, как улучшить Python, но и как сам по себе работает этот язык.
Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.
Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.
#урок
Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.
Здесь описываются не только предложения, как улучшить Python, но и как сам по себе работает этот язык.
Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.
Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.
#урок
📌 Упрощаем работу с JSON
Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath
Установка:
👨💻 Урок по языку
📕 Документация по модулю
#урок
Это хорошо, когда у вас небольшой 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
#Статья
• Язык программирования Python действительно универсален. Он применим во многих сферах информационных технологий, разработки и программирования.
🧷 https://itproger.com/news/v-kakih-sferah-stoit-ispolzovat-python
#Статья
📌 Избавляемся от отступов в многострочных строках
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
📕 Документация
#урок
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
textwrap.dedent()
.📕 Документация
#урок