Курс 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
  3. Перегрузка операторов в Python
  4. Операции с массивами в NumPy
  5. inspect в Python: анализ кода
  6. Numpy: объединение массивов
  7. Библиотека funcy: удобные утилиты
  8. Преобразование списка в словарь через генератор
  9. Отправка POST-запроса в REST API
  10. Запуск файлового сервера
  11. Работа с итераторами в Python
  12. Поиск email
  13. Список переменных в Python
  14. Создание namedtuple из словаря
  15. Удаление элемента по индексу в Python
  16. Создание и удаление объектов
  17. Создание новых функций с помощью functools.partial
  18. Установка библиотек в Python
  19. Применение функции map() в Python
  20. Фильтрация списка от «ложных» значений
  21. Векторизация в Python с NumPy.
  22. Асинхронное выполнение задач в процессах
  23. Шаблоны и наследование в Flask
  24. Python reversed() vs срез[::-1]
  25. Работа с кортежами в Python
  26. Декоратор для группы пользователей в Django
  27. Логирование с Loguru
  28. Оформление текста в консоли с TermColor
  29. Форматирование заголовков в Python
  30. Преобразование range в итератор
  31. Python: изменяемые и неизменяемые коллекции
  32. Проверка элементов списка условием
  33. Разработка игры Pong с turtle
  34. Анализ текста на русском языке с помощью Pymystem3
  35. Извлечение чисел из текста
  36. Делегирование в Python
  37. Сравнение неупорядоченных списков
  38. Проверка типа данных
  39. Изменение IP-адреса в Python
  40. Обработка исключения UnboundLocalError
  41. Получение обратного списка чисел
  42. Вызов внешних программ в Python с помощью sh
  43. Переопределение метода __and__
  44. Ускорение обработки данных с %autoawait
  45. Анонимные функции в Python

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