Курс 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. Копирование файлов с shutil()
  2. Документация функции help() в Python
  3. Оператор += для объединения строк
  4. split() без разделителя
  5. Функции высшего порядка в Python
  6. Проверка на палиндром
  7. Философия Python
  8. Оператор Walrus в Python
  9. Таймер обратного отсчета
  10. Управление сессиями в Python
  11. Поиск индекса элемента
  12. Работа с срезами в Numpy
  13. Метод Event.wait() в Python
  14. Поиск частых элементов в списке
  15. Генерация случайных чисел в Python
  16. Оптимизация памяти с slots
  17. JSON-esque в Python
  18. Вывод букв строки в Python
  19. Генераторы в Python
  20. Многострочные комментарии в Python
  21. Путь к интерпретатору Python
  22. Обход элементов в Python
  23. Создание OrderedDict
  24. Python: Splat-оператор и splatty-splat
  25. Модуль pprint
  26. Итераторы с потерямиZIP
  27. Инверсия списка и строки в Python
  28. Лямбда-функции в Python
  29. Работа с модулем glob в Python
  30. Использование html-скриптов в Jupyter Notebook
  31. Поиск самого длинного слова в списке с использованием max()
  32. Динамическая типизация в Python
  33. Объединение списков в Python
  34. Открытие, чтение и закрытие файла
  35. Создание GUI на Tkinter
  36. Вложенные функции в Python
  37. Справка по импортированным модулям
  38. Создание списков в Python
  39. Манипуляция формой массива в Numpy
  40. Python Метод del.
  41. Создание матрицы в Python
  42. Метод rsub для пользовательских чисел
  43. Использование *args
  44. CLI-инструмент howdoi
  45. Объединение словарей в Python
  46. Работа с коллекциями Python

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