Курс 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"
- Сортировка в Python
- Ограничение итераций в Python
- Делегирование в Python
- Документирование функций в Python
- Группы исключений в Python
- Создание инструмента обнаружения плагиата
- Работа с файлами в Python
- Метод rmatmul для обратного матричного умножения
- Многострочные комментарии в Python
- Команда %dhist — список посещенных каталогов
- Хеширование паролей с солью
- Создание GUI с Tkinter: Entry
- Работа с модулем random
- Генерация тестовых данных с factory_boy
- Тип CodeType в Python.
- Оформление кода по PEP 8
- Множественное наследование в Python
- Курсы Яндекс Практикум
- Поиск элементов BeautifulSoup
- Модуль functools в Python
- Оператор деления для класса Rational
- Операторы сравнения в Python
- Обработка аргументов Python
- Распаковка аргументов в Python
- Выражения-генераторы в Python
- Подсчет элементов в Python
- Измерение времени выполнения кода
- Конкатенация строковых литералов
- Присвоение значений переменным в Python
- Инвертирование словаря
- Управление контекстом выполнения кода
- Расширение операции побитового «и» в Python
- Метод сравнения объектов в Python
- Методы работы со строками в Python
- Работа с географическими данными.
- Оптимизация памяти в Python
- Лямбда-функции в Python
- Декораторы в Python
- Создание OrderedDict
- Работа с файлами в Python
- Enum в Python
- Классы данных в Python
- Реализация метода __abs__ в Python
- Декораторы с @wraps















