Курс 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. Регистрация на хакатоне
  2. Именование столбцов в Python с pandas
  3. Распаковка элементов последовательности
  4. Python enumerate() для работы с индексами
  5. Однострочники Python
  6. Поиск повторов в списке
  7. Перевод текста с Python Translator
  8. Имена объектов в Python
  9. Преобразование текста в нижний регистр
  10. Запуск внешних программ с subprocess
  11. Объединение словарей в Python
  12. Работа с collections в Python.
  13. Работа с модулем Calendar
  14. Combobox в Tkinter
  15. JSON в Python: модуль, dump, dumps, load
  16. Лямбда-функции для min/max
  17. Классы данных в Python
  18. %pinfo: получение информации об объекте
  19. Многоточие в Python
  20. Освоение Python
  21. Создание новой даты в Python
  22. Сложение матриц в NumPy
  23. Библиотека Chartify: руководство
  24. Многопоточность в Python
  25. Установка Git и AWS CLI
  26. Просмотр атрибутов и методов класса
  27. Изменение списка срезами
  28. Область видимости переменных
  29. Создание копии списка в Python
  30. Форматирование строк в Python
  31. Преобразование символов в нижний регистр
  32. Генерация QR-кодов с Python
  33. Метод getitem для доступа к элементам последовательности
  34. Отладка кода
  35. Работа с JSON данными в Python
  36. Работа с итераторами в Python
  37. Определение основы слова с showballstemmer
  38. Подсчет частоты элементов с Counter
  39. Создание словаря через dict comprehension
  40. Улучшенные подсказки для импорта в Python 3.12
  41. Удаление и повторная вставка ключа в OrderedDict
  42. Декораторы в Python

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