Сообщество Программистов
14.9K subscribers
86 photos
3 videos
39 files
113 links
Здесь ты найдешь полезные материалы которые позволят тебе развиваться в IT.
А именно статьи, книги и курсы на тему Python, других языков программирования и IT технологий.

Youtube Канал: youtube.com/c/ZProgerIT
Автор канала: @zproger8
Download Telegram
Компоненты для сборки Lily58 Pro.pdf
681.7 KB
Было много комментариев с просьбой подготовить список компонентов моей split клавиатуры из последнего видео.

Я составил такой список и вы можете подобрать компоненты под себя.
👍43🔥13
source.zip
3.9 KB
👆 Исходный код
👍19🔥6
Добавляем индексы внутрь класса

1. Инициализация экземпляра. На этом этапе принимаем data и записываем его внутрь пространства self, который отображает созданный экземпляр (пункт 3).

2. Dunder метод getitem отрабатывает во время вызова 10й строчки кода (пункт 4). Он принимает тот самый index, благодаря которому мы можем вернуть значение из списка self.data.

3. Создаем экземпляр класса и передаем list.

4. Обращаемся по индексу, тем самым вызывая getitem.

80 🔥 и идем дальше
🔥113👍15🤔2😁1
Еще один пример динамической генерации объектов

Похожие примеры были в этом видео. Если вы не знали, то type можно использовать в том числе и для создания новых классов.

При запуске получаем вывод:
"Dynamic Class: bla-bla-bla"

Все методы создаются ровно во время выполнения через анонимные функции. Используя такой подход мы можем динамически создавать нужные нам объекты.

100 🔥 и покажу как сделать динамическое наследование функционала.

Кстати это также примеры из курса ООП, на который сейчас действует новогодняя скидка.
Подробней о курсе рассказывал по этому тайм-коду.
🔥121👍8🤯7🤔3
Динамический импорт модулей

В данном примере загрузка происходит на этапе выполнения программы, таким же образом можно загружать собственные модули 👇

import importlib

a = importlib.import_module("my_module")
print(a.run_func()) # Вызываем функцию из модуля

Пример на скриншоте показывает способ загрузки через ввод пользователя.

Ваш софт может содержать собственные модули, которые необходимо загружать только после запроса пользователя, и такой подход позволяет решить эту проблему.
🔥58👍15😁1
Проверка изменений модулей с помощью importlib

Более того, если это динамическая программа, она подразумевает тот факт, что модули могут быть изменены в ходе выполнения программы.

Importlib предоставляет функционал, который поддерживает перезагрузку модулей "на лету" с учетом всех изменений.

80 🔥 и идем дальше
🔥156👍4🤔3
Monkey Patch. Перезапись сторонней библиотеки

Это практика изменения или расширения методов уже существующих объектов прямо во время выполнения кода. Подход позволяет изменять существующее поведение без редактирования исходной реализации.

В данном случае мы заранее создаем метод, который в дальнейшем будет перезаписывать requests.Session.get на наш метод. В итоге все дальнейшие вызовы будут использовать пропатченную версию new_get, которую мы реализовали.

100 🔥 и идем дальше.
🔥163👍12🤔6
🌜Как и обещал, опубликовал видео на тему улучшения продуктивности и развития используя Obsidian. В видео показал все топовые плагины и подходы, которые позволяют это сделать, однозначно советую проанализировать схему и внедрить в свою жизнь.

В ближайшее время скину свою базу и список плагинов, чтобы вам было проще все это дело настроить.
Давайте наберем 80 🔥 для мотивации.

Также если мы наберем много лайков и комментариев под этим видео, я сниму отдельный ролик, где покажу как добавить метрики для отслеживания привычек и анализа эффективности, все это будет выстраиваться в графики, которые позволят проанализировать вашу деятельность.
🔥597👍44🤯8😁5🤔4
Вот вы меня спрашиваете: почему я так активно начал снимать про Linux?

А все просто, я прочитал лицензионное соглашение 😎
😁332🔥54👍41🤯7🤔5
Добавляем логику в собственное исключение

Исключение можно поднять с аргументом и без него. Когда мы передаем аргумент, класс NetworkError подхватывает его и запускает первое условие, как показано на экране.

Вызов без аргументов, приведет к запуску условия else, что выведет базовую информацию об ошибке. Здесь предоставлен простой пример, однако можно добавить абсолютно любую логику.
👍52🔥19🤔8
⚡️Новое видео про сборку клавиатуры.
В этом ролике также будут подведены итоги челленджа спустя 7 месяцев на сплит клавиатуре.

https://youtu.be/wo3NLWl8rvw
🔥25👍11