Курс 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. Курс по дообучению ChatGPT
  2. Основы слова
  3. Работа с комплексными числами
  4. Вычисление фазы комплексного числа
  5. Метод radd для пользовательских чисел
  6. Кортеж в Python: создание, доступ, изменение
  7. Официальный канал Python в Telegram
  8. Работа с изображениями PIL
  9. Группировка элементов Python
  10. Python Enum Weekday Usage
  11. Исправление ошибки NameError
  12. Идентификатор объекта в Python
  13. Считывание бинарного файла в Python
  14. Оптимизация сравнения в Python
  15. Генераторы в Python
  16. Функции в одну строку
  17. Обмен данными с asyncio.Queue
  18. Декораторы в Python
  19. Сглаживание списка
  20. Хеширование паролей с солью
  21. Функции map() и reduce() в Python
  22. Подсчет элементов в Python
  23. Проверка дублей в списке.
  24. Monkey Patching в Python
  25. Хешируемые ключи в Python
  26. Векторизация в Python с NumPy.
  27. Скачать видео с YouTube
  28. Объединение словарей в Python 3.5+
  29. Логирование в Python
  30. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  31. Рациональные числа в Python
  32. Работа с датой и временем в Python
  33. Поиск индексов подстроки
  34. Сортировка данных с лямбда-функциями
  35. Метод rename() для переименования файлов и каталогов
  36. Создание и операции с дробями
  37. Pillow: работа с изображениями
  38. Поиск индекса элемента
  39. Переопределение метода xor в Python
  40. Поиск подстроки в строке
  41. Numpy: использование Ellipsis
  42. Виртуальные среды в Python
  43. Метод ior для битовых операций
  44. Поиск наиболее частого элемента списке
  45. Подписка на SelectelNews в Twitter

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