Курс 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. Функция zip() для объединения списков
  2. TypedDict для kwargs в Python 3.12
  3. Python Метод Union Множеств
  4. Удаление специальных символов с помощью re.sub
  5. Удаление элемента по индексу в Python
  6. Манипуляция формой массива в Numpy
  7. Объединение списков в Python
  8. Резервирование символов в Python
  9. Pretty-printing JSON в Python
  10. Оценка выражений генератора в Python
  11. Запуск внешнего кода в Jupyter
  12. Создание списка через итерацию
  13. Операции со строками в Python
  14. Избегайте использования goto
  15. Создание объекта времени
  16. Работа с рекламными данными в Pandas
  17. Выключение компьютера с помощью Python
  18. Объединение, распаковка и деструктуризация
  19. Наследование в программировании
  20. Преобразование Excel в PDF с Spire.XLS
  21. Отслеживание выполнения программы с библиотекой tqdm
  22. Упрощение условных выражений с тернарным оператором
  23. Метод is_absolute() для PurePath
  24. Проверка условий в Python
  25. Документирование функций в Python
  26. Использование defaultdict в Python
  27. Создание пустых функций и классов в Python
  28. Ограничение итераций в Python
  29. Логирование в Python
  30. Атрибуты класса и экземпляра
  31. Использование функции product
  32. Частичное совпадение пользовательского ввода в Python 3.10
  33. Получение текущей даты и времени с помощью datetime
  34. Разница между датами
  35. Декодирование байтов в строку
  36. Удаление элементов по срезу
  37. UserList в Python: Описание и примеры использования
  38. Загрузка постов Instagram
  39. Удаление файлов и папок в Python
  40. Настройка нарезки списков
  41. Делегирование в Python
  42. Обработка исключений в Python
  43. Импорт с альтернативным именем
  44. Комментарии в Python
  45. Асинхронное выполнение задач в Python
  46. Хеширование паролей с солью

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