Курс 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. Переопределение метода sub
  2. Простой калькулятор Python
  3. Изменение элемента списка
  4. Сортировка данных в Python
  5. PEP-401: оператор
  6. Генерация UUID в Python
  7. Парсинг статей с Newspaper3k
  8. Открытие и запись файлов
  9. Выбор редактора кода.
  10. Декораторы для регистрации функций
  11. Изменение объектов в Python
  12. Оператор «not» в Python
  13. Принципы SRP и OCP
  14. Фильтрация списка от «ложных» значений
  15. Работа с deque в Python
  16. Счетчик ссылок в Python
  17. Избегайте пустого списка
  18. Переворот строки с помощью срезов
  19. Метод rlshift для битового сдвига
  20. Функция divmod() в Python
  21. Чтение бинарного файла в Python.
  22. Модуль array: создание и использование массивов
  23. Установка и использование pyshorteners
  24. Модуль subprocess: запуск внешних команд
  25. Метод enumerate() в Python
  26. Форматирование заголовков в Python
  27. Вставка переменных в шаблоны Flask
  28. Подсчет вхождений элементов
  29. Документация функции help() в Python
  30. Работа со строками в Python
  31. Подписка на @SelectelNews
  32. Очистка входных данных
  33. Конкатенация строк в Python
  34. Создание и обучение модели с Keras
  35. Переопределение метода divmod
  36. Однострочники Python
  37. Установка переменной среды в Python
  38. Сравнение строк в Python
  39. Функция zip() для объединения списков
  40. Методы split() и join() — Python строк.
  41. Получение размера объекта с sys.getsizeof()
  42. Реализация операции -= для пользовательского класса
  43. Разбиение строки в Python
  44. Работа с эмодзи в Python
  45. Работа с файловой системой в Python
  46. Хэш-функции в Python

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