Курс 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. Оператор space-invader
  2. Метод enumerate() в Python
  3. Возвращение нескольких значений через кортеж или класс
  4. Операторы сравнения в Python
  5. Выключение компьютера с помощью Python
  6. Сравнение строк в Python
  7. Оператор is в Python
  8. Декоратор total_ordering для класса Point
  9. Методы classmethod и staticmethod
  10. Создание словарей и множеств в Python
  11. Копирование объектов в Python
  12. Ускорение кода с помощью векторизации
  13. Разделение строки на пары ключ-значение.
  14. Тестирование модели в PyTorch
  15. Лямбда-функции в Python
  16. Создание файла с проверкой ошибки
  17. Разделение функций на этапы
  18. Оператор break в Python
  19. Библиотека wikipedia для Python
  20. Создание новых функций с помощью functools.partial
  21. Enum в Python
  22. Аргументы *args и **kwargs
  23. Работа с файлами и директориями в Python.
  24. Транспонирование 2D-массива с помощью zip
  25. Поиск наиболее частого элемента
  26. Функция product() из itertools
  27. Объединение словарей в Python
  28. Итерация по копии коллекции
  29. Метод get для словаря
  30. Работа с файловой системой в Python
  31. Оператор «or» в Python
  32. Метод join() для объединения строк
  33. Запрос DELETE с библиотекой requests
  34. Извлечение новостей с newspaper3k
  35. Ошибка NotImplemented в Python
  36. Основные функции и модули Python
  37. Генерация строк с .join()
  38. Переопределение метода __rshift__
  39. *args и **kwargs в Python
  40. CLI-инструмент howdoi
  41. Использование функции product
  42. Профилирование кода на Python
  43. Сортировка и разворот списка
  44. Преобразование вложенного списка
  45. Оператор zip в Python
  46. Группы исключений в Python

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