Курс 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. Любовь к Python
  2. Определение локальных переменных в Python
  3. Разделение строк в Python
  4. Функция zip() — объединение последовательностей
  5. Освобождение памяти в Python
  6. Функции-генераторы в Python
  7. Работа с необработанными строками
  8. Построение графиков в Matplotlib
  9. Значения по умолчанию в Python
  10. Преобразование строк в числа в Python
  11. Преобразование PowerPoint в PDF.
  12. Метод append() для списка
  13. Работа с множествами в Python
  14. Создание комплексных чисел
  15. Импорт модулей и пакетов в Python
  16. Поиск самого длинного слова в списке с использованием max()
  17. Векторизация в Python с NumPy.
  18. Генераторы в Python
  19. Метод сравнения объектов в Python
  20. Логирование с Loguru
  21. Работа с комплексными числами
  22. Класс Counter() для подсчета элементов
  23. Работа с YAML в Python
  24. Оптимизация памяти с slots
  25. Библиотека itertools: объединение списков
  26. Модуль Antigravity в Python 3
  27. Основы работы с os
  28. Библиотека Emoji: использование смайлов в Python
  29. Многоточие в Python
  30. Преобразование в float
  31. Чтение и запись TOML-конфигов
  32. Проблема с изменяемыми аргументами
  33. Работа с утверждениями в Python
  34. Добавление элементов в список
  35. Solidity для DeFi Ethereum
  36. Копирование и вставка текста в Python
  37. Работа со случайными элементами
  38. Метод init в Python
  39. Работа с модулем random
  40. Создание именованных кортежей в Python
  41. Python и Юникод: работа с цифрами
  42. Проверка типов с помощью isinstance
  43. Функция enumerate в Python
  44. Поиск кода
  45. Разделение строки с регулярными выражениями
  46. Функции all и any в Python

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