Курс 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"
- Оператор space-invader
- Метод enumerate() в Python
- Возвращение нескольких значений через кортеж или класс
- Операторы сравнения в Python
- Выключение компьютера с помощью Python
- Сравнение строк в Python
- Оператор is в Python
- Декоратор total_ordering для класса Point
- Методы classmethod и staticmethod
- Создание словарей и множеств в Python
- Копирование объектов в Python
- Ускорение кода с помощью векторизации
- Разделение строки на пары ключ-значение.
- Тестирование модели в PyTorch
- Лямбда-функции в Python
- Создание файла с проверкой ошибки
- Разделение функций на этапы
- Оператор break в Python
- Библиотека wikipedia для Python
- Создание новых функций с помощью functools.partial
- Enum в Python
- Аргументы *args и **kwargs
- Работа с файлами и директориями в Python.
- Транспонирование 2D-массива с помощью zip
- Поиск наиболее частого элемента
- Функция product() из itertools
- Объединение словарей в Python
- Итерация по копии коллекции
- Метод get для словаря
- Работа с файловой системой в Python
- Оператор «or» в Python
- Метод join() для объединения строк
- Запрос DELETE с библиотекой requests
- Извлечение новостей с newspaper3k
- Ошибка NotImplemented в Python
- Основные функции и модули Python
- Генерация строк с .join()
- Переопределение метода __rshift__
- *args и **kwargs в Python
- CLI-инструмент howdoi
- Использование функции product
- Профилирование кода на Python
- Сортировка и разворот списка
- Преобразование вложенного списка
- Оператор zip в Python
- Группы исключений в Python















