Курс 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. Извлечение статей с newspaper3k
  4. Вложенные циклы в Python
  5. Цикл for в Python
  6. Описание скриптов в README
  7. Замыкания в Python
  8. Получение ID процесса
  9. Проверка элемента в множестве.
  10. Сортировка с помощью key
  11. Magic Commands — улучшение работы с Python
  12. Поиск файлов по шаблону
  13. Запуск файлового сервера
  14. Сортировка HTML-элементов
  15. Оператор is в Python
  16. Удаление элемента по индексу
  17. Установка и использование модуля «howdoi»
  18. Итераторы с потерямиZIP
  19. Таймер обратного отсчета
  20. Работа с базами данных SQLite
  21. Работа с очередями в Python
  22. Декораторы в Python
  23. Транспонирование 2D-массива с помощью zip
  24. Управление контекстом с помощью декоратора contextmanager
  25. Получение размера объекта с sys.getsizeof()
  26. Каналы Senior: Python, Java, Frontend, SQL, C++
  27. Игра «Виселица» на Python
  28. Удаление файлов с shutil.os.remove()
  29. Функции map() и reduce() в Python
  30. Срез списка в Python
  31. Генераторы в Python
  32. Однострочники Python
  33. Списковое включение в Python
  34. Оптимизация сравнения в Python
  35. Округление банкира в Python
  36. Работа с модулем random
  37. Декораторы в Python
  38. Замена подстроки
  39. Форматирование данных с pprint
  40. CLI-инструмент howdoi
  41. Проекты на Python
  42. Создание виртуальной среды
  43. Зарезервированные слова в Python
  44. Проверка версии Python
  45. Функция rsplit() в Python
  46. Основы работы со строками в Python
  47. Progress с библиотекой tqdm
  48. Объединение словарей в Python

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