Курс 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. Работа с модулем Calendar
  2. Введение в PyTorch
  3. Импорт модулей и пакетов в Python
  4. Декораторы в Python
  5. Перемешивание списка с shuffle()
  6. Генерация чисел с range()
  7. Преобразование вложенного списка
  8. Сортировка слиянием
  9. Сравнение строк в Python
  10. Получение текущей даты в Python
  11. Порядок и длина множеств в Python
  12. Создание комплексных чисел
  13. Метод join для наборов
  14. UserList в Python: Описание и примеры использования
  15. Генераторные выражения и islice.
  16. Оператор Walrus: правильное использование
  17. Разделение строки с помощью split()
  18. Фильтрация последовательности
  19. Python Ellipsis использование
  20. Документирование функций в Python
  21. Утечки переменных цикла в Python 3.x
  22. Генераторы списков в Python
  23. Метаклассы в Python
  24. Python: Фильтрация списков с помощью filter()
  25. Оператор «or» в Python
  26. Избегайте двойного подчеркивания
  27. Mad Libs Generator
  28. Метод __irshift__ для Python
  29. Объединение коллекций в Python
  30. Запуск внешнего кода в Jupyter
  31. Удаление специальных символов с помощью re.sub
  32. split() — разделение строки
  33. Работа с переменными в Python
  34. Генераторы и сеты в Python
  35. Методы classmethod и staticmethod
  36. Разделение строки с регулярными выражениями
  37. Создание словарей в Python
  38. Удаление знаков препинания в Python
  39. enumerate() в Python для работы с индексами
  40. Функция all() в Python
  41. Работа с словарями в Python
  42. Управление ресурсами с контекстными менеджерами
  43. Возвращение нескольких значений через кортеж или класс
  44. Функции any() и all() в Python

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