Курс 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
- Извлечение статей с newspaper3k
- Вложенные циклы в Python
- Цикл for в Python
- Описание скриптов в README
- Замыкания в Python
- Получение ID процесса
- Проверка элемента в множестве.
- Сортировка с помощью key
- Magic Commands — улучшение работы с Python
- Поиск файлов по шаблону
- Запуск файлового сервера
- Сортировка HTML-элементов
- Оператор is в Python
- Удаление элемента по индексу
- Установка и использование модуля «howdoi»
- Итераторы с потерямиZIP
- Таймер обратного отсчета
- Работа с базами данных SQLite
- Работа с очередями в Python
- Декораторы в Python
- Транспонирование 2D-массива с помощью zip
- Управление контекстом с помощью декоратора contextmanager
- Получение размера объекта с sys.getsizeof()
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Игра «Виселица» на Python
- Удаление файлов с shutil.os.remove()
- Функции map() и reduce() в Python
- Срез списка в Python
- Генераторы в Python
- Однострочники Python
- Списковое включение в Python
- Оптимизация сравнения в Python
- Округление банкира в Python
- Работа с модулем random
- Декораторы в Python
- Замена подстроки
- Форматирование данных с pprint
- CLI-инструмент howdoi
- Проекты на Python
- Создание виртуальной среды
- Зарезервированные слова в Python
- Проверка версии Python
- Функция rsplit() в Python
- Основы работы со строками в Python
- Progress с библиотекой tqdm
- Объединение словарей в Python















