Курс 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
- Реверс строки и списка в Python.
- Python и Монти Пайтон
- Создание графики с черепахой
- Генератор данных в Keras
- Итераторы в Python
- Округление чисел с помощью round
- Управление экспортом элементов
- Получение комбинаций в Python
- Поиск анаграмм с Counter
- Чтение и запись TOML-конфигов
- Работа с itertools
- Python: отсутствие точек с запятыми
- Отладка в командной строке
- Работа с дробями в Python
- Компиляция регулярных выражений
- Нахождение самого длинного слова в списке с помощью max
- Глобальные переменные в Python
- Основные операции с Numpy
- Работа с геоданными с помощью geopy
- Оператор «not» в Python
- Оптимизация методов в Python 3.7
- Операция += для списков
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Инверсия списка/строки в Python
- Работа с deque из collections
- Solidity для DeFi Ethereum
- Проблема с изменяемыми аргументами
- Возвращение нескольких значений
- Подсчет элементов в Python
- Структура данных deque в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Профилирование кода
- Комплексные числа в Python
- Удаление ресурса в Python
- Построение графиков в Matplotlib
- Метод pop() списка
- Поиск всех индексов подстроки
- Срезы в Python
- Объединение итераторов
- Исправление ошибки NameError
- Обновление шаблона base.html
- Форматирование строк в Python
- Объединение коллекций в Python
- f-строки в формате строк
- Хранение переменных в Python.















