Курс 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. Оператор «not» в Python
  2. Конкатенация строк в Python
  3. Получение текущей даты и времени
  4. Работа с collections.Counter
  5. Lambda Functions in Python
  6. Настройка вывода в Numpy
  7. Блок else в Python
  8. Блок try…finally в Python
  9. Вывод баннеров
  10. Работа с JSON данными в Python
  11. Переопределение метода delitem в Python
  12. Метод rxor для операции побитового исключающего «или»
  13. Создание именованных кортежей в Python
  14. Обработка исключений с блоком else
  15. Удаление файлов в Python
  16. Удаление элементов из списка в Python
  17. Логические значения в Python
  18. Работа с атрибутом dict
  19. Функции с дополнением
  20. Настройка нарезки списков
  21. Поиск всех индексов подстроки
  22. Создание вкладок с TKinter
  23. Библиотека schedule: планировщик задач
  24. GitHub в Telegram: подписка на уведомления
  25. Метод get для словаря
  26. Удаление символа из строки
  27. Значения по умолчанию в Python
  28. Объединение словарей в Python
  29. Создание итерируемых объектов
  30. Обезопасьте ввод данных
  31. Функция enumerate() в Python
  32. Группы исключений в Python
  33. Комментарии в Python
  34. Установка Home Assistant
  35. Множества и frozenset
  36. Метод get() для словарей
  37. Асинхронное выполнение задач в Python
  38. Работа с геоданными с помощью geopy
  39. Преобразование Word в PDF с Spire.Doc
  40. Переменная Шредингера
  41. Метод ior для битовых операций
  42. Возврат нескольких значений
  43. Работа со строками в Python
  44. Замена символов в Python
  45. Изучение объектов с помощью dir()
  46. Конвертация изображений в PDF
  47. Разность множеств
  48. Работа с изображениями PIL

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