Курс 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. Измерение времени выполнения с помощью time
  3. Списки в Python: основы
  4. Анонимные функции Lambda
  5. Работа со строками
  6. Работа с словарями в Python
  7. Сумма элементов списка
  8. Метод __imod__ для Python
  9. Отладка кода
  10. Подсчет вхождений элементов
  11. Оператор is в Python
  12. Округление чисел с помощью round
  13. Пропуск начальных строк с помощью dropwhile()
  14. Генераторы списков
  15. Атрибуты объекта в Python
  16. Работа с JSON в Python
  17. Создание циклической ссылки
  18. Извлечение статей с newspaper3k
  19. Округление банкира в Python
  20. Явный импорт переменных
  21. Перегрузка операторов в Python
  22. Курс по дообучению ChatGPT
  23. Оператор морж в Python 3.8
  24. Работа с байтовыми строками в Python
  25. Распаковка значений в Python
  26. Переворот списка в Python
  27. Метод gt в Python
  28. Отделение звука от видео
  29. Метод __ilshift__ для битового сдвига влево
  30. Отступы в Python
  31. Запрос DELETE с библиотекой requests
  32. Переопределение метода delitem в Python
  33. Объединение словарей в Python
  34. Контроль точности вывода чисел
  35. Возврат нескольких значений
  36. Поиск самого частого элемента
  37. Настройка нарезки списков
  38. Счетчик в Python: most_common()
  39. HTTP-запросы с библиотекой Requests
  40. Функция rsplit() в Python
  41. Отладка в Python
  42. Генераторы списков в Python
  43. Циклы в Python
  44. ChainMap.new_child() — добавление нового словаря
  45. Работа с типами данных в Python с помощью pydantic.
  46. Вывод баннеров

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