Курс 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"

  1. Генераторы в Python
  2. Поиск кода
  3. Абстракции словарей и множеств в Python
  4. Метод join() для объединения элементов
  5. Colorama: окрашивание текста в Python
  6. Получение списка кортежей из словаря
  7. Многоточие в Python
  8. Векторизация в Python с NumPy.
  9. Распаковка значений в Python
  10. Генераторные выражения и islice.
  11. Управление памятью в Python
  12. Установка и использование модуля Wikipedia
  13. Добавление кнопки в tkinter
  14. Функция zip() в Python
  15. Возвращение нескольких значений через кортеж или класс
  16. Создание коллекций из выражения-генератора
  17. Переопределение оператора % для объектов
  18. Класс-оболочка для словарей
  19. Импортирование в Python
  20. Проверка типа объекта в Python
  21. Метод enumerate() в Python
  22. Преобразование PowerPoint в PDF.
  23. Работа с *args и **kwargs в Python
  24. Импорт объектов из модулей
  25. Именованные срезы в Python
  26. *args и **kwargs в Python
  27. Фильтрация последовательности
  28. Управление ресурсами в Python
  29. Возвращение нескольких значений
  30. Атрибуты класса и экземпляра
  31. Преобразование многоуровневого словаря
  32. Добавление элемента к кортежу
  33. Создание веб-приложения с Flask
  34. Работа со строками в Python
  35. Объединение множеств в Python
  36. Скачать видео с YouTube
  37. Получение комбинаций в Python
  38. Разделение строк в Python
  39. Лямбда-функции в Python
  40. Сортировка элементов в Python
  41. Оператор Walrus в Python
  42. Создание и удаление объектов
  43. Создание директории в Python

Marketello читают маркетологи из крутых компаний