📌 Принцип YAGNI
Вам это не нужно. Не добавляйте кнопку, если вас об этом не просили. Не убивайте всё время на супер быстрый движок, если вас об этом не просили.
Инициатива это хорошо, но из-за неё можно потерять время и деньги. Клиенту нужен работающий продукт, а не куча разных фич.
Если вы нарушите принцип то, в лучшем случае, потеряете своё время, в худшем — время команды и деньги клиента.
#урок
Вам это не нужно. Не добавляйте кнопку, если вас об этом не просили. Не убивайте всё время на супер быстрый движок, если вас об этом не просили.
Инициатива это хорошо, но из-за неё можно потерять время и деньги. Клиенту нужен работающий продукт, а не куча разных фич.
Если вы нарушите принцип то, в лучшем случае, потеряете своё время, в худшем — время команды и деньги клиента.
#урок
❤4
Работаем с TOML
В версии Python 3.11 появилась новая библиотека — tomllib. Она позволяет работать с форматом TOML.
TOML несколько отличается от других форматов, ведь имеет нативную поддержку массивов, словарей, времени.
📕 Документация
#урок
В версии Python 3.11 появилась новая библиотека — tomllib. Она позволяет работать с форматом TOML.
TOML несколько отличается от других форматов, ведь имеет нативную поддержку массивов, словарей, времени.
📕 Документация
#урок
❤5👍2
📌 Всегда случайный ID
Есть такая штучка, как UUID (Universally unique identifier) — универсальный уникальный идентификатор.
Суть в том, что значение идентификаторы всегда уникальные. Если создадите 1 млрд таких, то вероятность встретить двое одинаковых — 0.0000000001%.
Такое можно использовать в базах данных (для задания ключей), что давать имена файлам или в качестве уникальных имён любых веб-источников.
📕 Документация
#урок
Есть такая штучка, как UUID (Universally unique identifier) — универсальный уникальный идентификатор.
Суть в том, что значение идентификаторы всегда уникальные. Если создадите 1 млрд таких, то вероятность встретить двое одинаковых — 0.0000000001%.
Такое можно использовать в базах данных (для задания ключей), что давать имена файлам или в качестве уникальных имён любых веб-источников.
📕 Документация
#урок
❤5🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
📌 Вы знали, что поведение операторов можно менять?
Вся суть в том, что все операторы используют обычные функции, так называемые магические методы.
Мы вполне можем переопределить поведение, изменив код внутри функции. Найти весь список функций и операторов можно в модуле operators.
📕 Документация
#урок
Вся суть в том, что все операторы используют обычные функции, так называемые магические методы.
Мы вполне можем переопределить поведение, изменив код внутри функции. Найти весь список функций и операторов можно в модуле operators.
📕 Документация
#урок
❤5👍2👌1
📌 Не бойтесь писать понятный код
Раньше было страшным злодеянием взять и оставить
Например, если у вас есть 355 дней в секундах, можно оставить
В производительности ничего не потеряете, а код сделаете понятнее... Для себя через три месяца
#урок
Раньше было страшным злодеянием взять и оставить
1000 * 60 * 60, сейчас же все компьютеры умные и могут просчитать выражение ещё до запуска приложения.Например, если у вас есть 355 дней в секундах, можно оставить
60 * 60 * 24 * 355, так человек быстрее поймёт, откуда взялось это число и что оно значит.В производительности ничего не потеряете, а код сделаете понятнее... Для себя через три месяца
#урок
❤6🔥2👌1
📌 Замыкание
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
❤3👍3
📌 Парсим HTML
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
🐙 GitHub
#урок
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
pip install lxml
Если вы собираете работать с повреждёнными HTML/XML файлами, то выбирайте html5lib, эта библиотека медленная, но стабильная. Если же вам нужно быстренько взять какие-то данные с сайта, не раздумывая, выбирайте lxml.🐙 GitHub
#урок
❤3👍1
Что быстрее, [] или list()?
Спойлер:[] быстрее чем вызов функции
На этот вопрос ответит timeit — модуль, замеряющий время выполнения определённых команд.
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
Спойлер:
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
❤1
📌 Учим приложения общаться друг с другом
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
Всё очень легко, копируем пример с официального сайта и запускаем с помощью
#урок
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
pip3 install hug
С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым простым фреймворком для создания оболочки взаимодействия пользователя с приложением.Всё очень легко, копируем пример с официального сайта и запускаем с помощью
hug -f file.py. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.#урок
❤1
📌 else в цикле
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
❤1
📌 Что такое 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.
#урок
❤1
Бесплатные IT-курсы, которые не стыдно положить в закладки 👇
На канале Lab IT уже выложены:
● Симулятор SQL — практика как у настоящего аналитика
● Roadmap Python backend: от нуля до Junior
● Полное руководство по Python (87 уроков, 30+ часов)
● Курсы по DevOps, Docker, Git и Linux
● Подготовка к собеседованиям Java / QA
И так — каждую неделю. Без воды, без «войти в IT за 3 дня».
📂 Подписаться: https://xn--r1a.website/+Em0WHNORbUY3ZGQy
На канале Lab IT уже выложены:
● Симулятор SQL — практика как у настоящего аналитика
● Roadmap Python backend: от нуля до Junior
● Полное руководство по Python (87 уроков, 30+ часов)
● Курсы по DevOps, Docker, Git и Linux
● Подготовка к собеседованиям Java / QA
И так — каждую неделю. Без воды, без «войти в IT за 3 дня».
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
📌 Упрощаем работу с JSON
Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath
Установка:
👨💻 Урок по языку
📕 Документация по модулю
#урок
Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath
Установка:
pip install jmespath
Это не фича питона, это отдельный язык который используется для обработки данных в JSON. Вы можете искать, сортировать, считать значения.👨💻 Урок по языку
📕 Документация по модулю
#урок
❤1
Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1