Курс 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"
- Копирование файлов с shutil()
- Документация функции help() в Python
- Оператор += для объединения строк
- split() без разделителя
- Функции высшего порядка в Python
- Проверка на палиндром
- Философия Python
- Оператор Walrus в Python
- Таймер обратного отсчета
- Управление сессиями в Python
- Поиск индекса элемента
- Работа с срезами в Numpy
- Метод Event.wait() в Python
- Поиск частых элементов в списке
- Генерация случайных чисел в Python
- Оптимизация памяти с slots
- JSON-esque в Python
- Вывод букв строки в Python
- Генераторы в Python
- Многострочные комментарии в Python
- Путь к интерпретатору Python
- Обход элементов в Python
- Создание OrderedDict
- Python: Splat-оператор и splatty-splat
- Модуль pprint
- Итераторы с потерямиZIP
- Инверсия списка и строки в Python
- Лямбда-функции в Python
- Работа с модулем glob в Python
- Использование html-скриптов в Jupyter Notebook
- Поиск самого длинного слова в списке с использованием max()
- Динамическая типизация в Python
- Объединение списков в Python
- Открытие, чтение и закрытие файла
- Создание GUI на Tkinter
- Вложенные функции в Python
- Справка по импортированным модулям
- Создание списков в Python
- Манипуляция формой массива в Numpy
- Python Метод del.
- Создание матрицы в Python
- Метод rsub для пользовательских чисел
- Использование *args
- CLI-инструмент howdoi
- Объединение словарей в Python
- Работа с коллекциями Python















