Курс Python → TypedDict для kwargs в Python 3.12
В Python 3.12 было введено нововведение, которое позволяет использовать TypedDict для определения типов **kwargs. Если вы работали с kwargs (аргументы с ключевыми словами) ранее, то вы, вероятно, знаете, что оператор двойная звездочка упаковывает переданные по имени аргументы в словарь. Теперь с помощью TypedDict (словарь с заданными типами значений) мы можем придать таким аргументам большую гибкость в определении типов.
TypedDict позволяет явно указать типы значений, которые могут содержаться в словаре kwargs. Это облегчает процесс проверки типов и обеспечивает более надежное поведение программы. При использовании TypedDict вы можете быть уверены, что передаваемые аргументы соответствуют ожидаемым типам данных.
from typing import TypedDict
class Person(TypedDict):
name: str
age: int
def greet_person(**kwargs: Person) -> None:
print(f"Hello, {kwargs['name']}! You are {kwargs['age']} years old.")
greet_person(name="Alice", age=30)
В приведенном выше примере кода мы создаем TypedDict с полями «name» типа str и «age» типа int. Затем мы определяем функцию greet_person, которая принимает аргументы kwargs с типом Person. При вызове функции мы передаем аргументы name и age, убедившись, что они соответствуют ожидаемым типам. Это позволяет более точно контролировать типы данных, что способствует более безопасной и надежной разработке кода.
Другие уроки курса "Python"
- Реализация операции -= для пользовательского класса
- Эффективная конкатенация строк с использованием join()
- Удаление URL-адресов в Python
- Извлечение аудио из видео
- Измерение времени выполнения в Python
- Переопределение метода __or__()
- Работа со временем в Python
- Объединение итераторов
- Нахождение хеша для бесконечности и NaN в Python
- Метод __getitem__ в Python
- Комментарии в Python
- Использование эмодзи в Python
- Итерации в Python
- Магические методы в Python
- Функции any() и all() в Python
- Создание и использование модулей в Python
- Запуск внешнего кода в Jupyter
- Создание словаря с значением по умолчанию
- Генераторы в Python
- Участие в сообществе @selectel
- Работа с NumPy.linalg
- Оператор Walrus: правильное использование
- Метод __irshift__ для побитового сдвига вправо
- Операции с матрицами в Python
- Измерение времени выполнения кода
- Преобразование списка в словарь через генератор
- Прокачанный трейсинг ошибок
- Добавление цвета в консоли
- Метод __index__ в Python
- Сложные типы данных в Python
- Объединение словарей в Python
- Работа с getopt
- Python Поверхностное Копирование
- Работа с изображениями PIL
- Работа с байтовыми строками в Python
- Улучшенные подсказки для импорта в Python 3.12
- Списковое включение в Python
- Работа с NumPy
- Функция count() в Python
- Переворот строки с использованием цикла
- Работа с процессами в Python
- Разделение функций на этапы
- Управление контекстом с помощью декоратора contextmanager
- Навыки Python: строки, типы данных
- Проблема с изменяемыми аргументами
- Очистка входных данных















