Курс 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"
- Работа с модулем Calendar
- Введение в PyTorch
- Импорт модулей и пакетов в Python
- Декораторы в Python
- Перемешивание списка с shuffle()
- Генерация чисел с range()
- Преобразование вложенного списка
- Сортировка слиянием
- Сравнение строк в Python
- Получение текущей даты в Python
- Порядок и длина множеств в Python
- Создание комплексных чисел
- Метод join для наборов
- UserList в Python: Описание и примеры использования
- Генераторные выражения и islice.
- Оператор Walrus: правильное использование
- Разделение строки с помощью split()
- Фильтрация последовательности
- Python Ellipsis использование
- Документирование функций в Python
- Утечки переменных цикла в Python 3.x
- Генераторы списков в Python
- Метаклассы в Python
- Python: Фильтрация списков с помощью filter()
- Оператор «or» в Python
- Избегайте двойного подчеркивания
- Mad Libs Generator
- Метод __irshift__ для Python
- Объединение коллекций в Python
- Запуск внешнего кода в Jupyter
- Удаление специальных символов с помощью re.sub
- split() — разделение строки
- Работа с переменными в Python
- Генераторы и сеты в Python
- Методы classmethod и staticmethod
- Разделение строки с регулярными выражениями
- Создание словарей в Python
- Удаление знаков препинания в Python
- enumerate() в Python для работы с индексами
- Функция all() в Python
- Работа с словарями в Python
- Управление ресурсами с контекстными менеджерами
- Возвращение нескольких значений через кортеж или класс
- Функции any() и all() в Python















