Курс 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"
- Функция format() в Python
- Генератор списка с условием if
- Множественное назначение в Python
- Метод append() для списка
- Python Метод sleep() из time
- Форматирование строк в Python
- Метод __irshift__ для побитового сдвига вправо
- Получение ID процесса
- Обмен переменными в Jupyter
- Сортировка в Python
- Замеры производительности в Python
- Разделение функций на этапы
- Копирование объектов в Python
- Оптимизация поиска в словарях
- Python Enum Weekday Usage
- Работа с массивами в Numpy
- Отображение графиков в Jupyter с Matplotlib
- %pinfo: получение информации об объекте
- Оценка выражений генератора в Python
- Необязательные аргументы в Python
- Подсказки типов в Python
- Поиск шаблона в строке
- Декораторы в Python
- Работа с классами данных
- JMESPath в Python
- Модуль antigravity: генерация координат
- Удаление файлов в Python
- Создание новых функций с помощью functools.partial
- Создание GUI с Tkinter: Entry
- Объединение итераторов
- Работа с очередями в Python
- Объединение списков в строку
- Моржовый оператор в Python 3.8
- Профилирование кода на Python
- Форматирование строк в Python
- Работа со стеком в Python
- Логические значения в Python
- Удаление ключа из словаря
- Класс UserDict: дополнительная функциональность
- Bootle — простой веб-фреймворк
- Роль запятой в Python
- Объявление переменных в Python
- Метод repr() в Python















