Курс 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
- Операции с массивами в NumPy
- inspect в Python: анализ кода
- Numpy: объединение массивов
- Библиотека funcy: удобные утилиты
- Преобразование списка в словарь через генератор
- Отправка POST-запроса в REST API
- Запуск файлового сервера
- Работа с итераторами в Python
- Поиск email
- Список переменных в Python
- Создание namedtuple из словаря
- Удаление элемента по индексу в Python
- Создание и удаление объектов
- Создание новых функций с помощью functools.partial
- Установка библиотек в Python
- Применение функции map() в Python
- Фильтрация списка от «ложных» значений
- Векторизация в Python с NumPy.
- Асинхронное выполнение задач в процессах
- Шаблоны и наследование в Flask
- Python reversed() vs срез[::-1]
- Работа с кортежами в Python
- Декоратор для группы пользователей в Django
- Логирование с Loguru
- Оформление текста в консоли с TermColor
- Форматирование заголовков в Python
- Преобразование range в итератор
- Python: изменяемые и неизменяемые коллекции
- Проверка элементов списка условием
- Разработка игры Pong с turtle
- Анализ текста на русском языке с помощью Pymystem3
- Извлечение чисел из текста
- Делегирование в Python
- Сравнение неупорядоченных списков
- Проверка типа данных
- Изменение IP-адреса в Python
- Обработка исключения UnboundLocalError
- Получение обратного списка чисел
- Вызов внешних программ в Python с помощью sh
- Переопределение метода __and__
- Ускорение обработки данных с %autoawait
- Анонимные функции в Python















