Новый синтаксис дженериков Python3.12
В прошлых версиях псевдонимы записывались след.образом:
В прошлых версиях псевдонимы записывались след.образом:
from typing import TypeAlias
_T = TypeVar("_T")
ListOrSet: TypeAlias = list[_T] | set[_T]
Сейчас эта запись выглядит примерно так:type ListOrSet[T] = list[T] | set[T]
Появилась идея показать новые потоки Python3.12 в отдельном видео, давайте наберем 150🔥 и я сделаю этот ролик🔥306👍15
source.zip
5.5 KB
👆Исходный код
На создание видео ушло ~5 дней, буду благодарен, если поддержите лайком 😉
На создание видео ушло ~5 дней, буду благодарен, если поддержите лайком 😉
👍153🔥15🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
Что думаете на счет такого сплита? 😁
🔥120😁44👍10🤯6
Компоненты для сборки Lily58 Pro.pdf
681.7 KB
Было много комментариев с просьбой подготовить список компонентов моей split клавиатуры из последнего видео.
Я составил такой список и вы можете подобрать компоненты под себя.
Я составил такой список и вы можете подобрать компоненты под себя.
👍43🔥13
Добавляем индексы внутрь класса
1. Инициализация экземпляра. На этом этапе принимаем data и записываем его внутрь пространства self, который отображает созданный экземпляр (пункт 3).
2. Dunder метод getitem отрабатывает во время вызова 10й строчки кода (пункт 4). Он принимает тот самый index, благодаря которому мы можем вернуть значение из списка
3. Создаем экземпляр класса и передаем list.
4. Обращаемся по индексу, тем самым вызывая getitem.
80 🔥 и идем дальше
1. Инициализация экземпляра. На этом этапе принимаем data и записываем его внутрь пространства self, который отображает созданный экземпляр (пункт 3).
2. Dunder метод getitem отрабатывает во время вызова 10й строчки кода (пункт 4). Он принимает тот самый index, благодаря которому мы можем вернуть значение из списка
self.data
.3. Создаем экземпляр класса и передаем list.
4. Обращаемся по индексу, тем самым вызывая getitem.
80 🔥 и идем дальше
🔥113👍15🤔2😁1
Еще один пример динамической генерации объектов
Похожие примеры были в этом видео. Если вы не знали, то type можно использовать в том числе и для создания новых классов.
При запуске получаем вывод:
100 🔥 и покажу как сделать динамическое наследование функционала.
Кстати это также примеры из курса ООП, на который сейчас действует новогодняя скидка.
Подробней о курсе рассказывал по этому тайм-коду.
Похожие примеры были в этом видео. Если вы не знали, то 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 🔥 и идем дальше
Более того, если это динамическая программа, она подразумевает тот факт, что модули могут быть изменены в ходе выполнения программы.
Importlib предоставляет функционал, который поддерживает перезагрузку модулей "на лету" с учетом всех изменений.
80 🔥 и идем дальше
🔥156👍4🤔3