Курс 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. Методы split() и join() — Python строк.
  2. Оформление кода на Python
  3. Метод pop() списка
  4. Генераторы в Python
  5. Работа со стеком в Python
  6. Работа с комплексными числами в Python
  7. Поиск повторов в списке
  8. Удаление элементов по срезу
  9. Метод __float__ в Python
  10. Функции all и any в Python
  11. Метод rpow в Python
  12. Иерархия классов в Python
  13. Пустой оператор pass в Python
  14. Обход элементов в Python
  15. Работа с deque из collections
  16. Создание функций высшего порядка
  17. Решение переменной Шредингера
  18. Построение графиков в Matplotlib
  19. Логирование с Logzero
  20. Декораторы в Python
  21. Метод title() в Python
  22. Модуль future Python
  23. Обработка исключений
  24. Векторизация в Python с NumPy.
  25. Множественное назначение в Python
  26. Оболочка Python
  27. Итерация по копии коллекции
  28. Форматирование строк с помощью f-строк
  29. Сумма элементов списка
  30. Сортировка в Python
  31. Отделение звука от видео
  32. Создание коллекций из генератора
  33. Оптимизация памяти с slots
  34. Создание .exe файла с pyinstaller
  35. Руководство по библиотеке pydantic
  36. Извлечение новостей с помощью newspaper3k
  37. Профилирование данных с Pandas.
  38. Вывод с переменной через запятую
  39. Приоритет операций в Python
  40. Работа с географическими данными в Python
  41. Функция enumerate в Python
  42. Установка Python — Простое руководство
  43. Обработка исключений в Python
  44. discard() — удаление элемента из множества

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