Курс 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
- Функция zip() — объединение последовательностей
- Освобождение памяти в Python
- Функции-генераторы в Python
- Работа с необработанными строками
- Построение графиков в Matplotlib
- Значения по умолчанию в Python
- Преобразование строк в числа в Python
- Преобразование PowerPoint в PDF.
- Метод append() для списка
- Работа с множествами в Python
- Создание комплексных чисел
- Импорт модулей и пакетов в Python
- Поиск самого длинного слова в списке с использованием max()
- Векторизация в Python с NumPy.
- Генераторы в Python
- Метод сравнения объектов в Python
- Логирование с Loguru
- Работа с комплексными числами
- Класс Counter() для подсчета элементов
- Работа с YAML в Python
- Оптимизация памяти с slots
- Библиотека itertools: объединение списков
- Модуль Antigravity в Python 3
- Основы работы с os
- Библиотека Emoji: использование смайлов в Python
- Многоточие в Python
- Преобразование в float
- Чтение и запись TOML-конфигов
- Проблема с изменяемыми аргументами
- Работа с утверждениями в Python
- Добавление элементов в список
- Solidity для DeFi Ethereum
- Копирование и вставка текста в Python
- Работа со случайными элементами
- Метод init в Python
- Работа с модулем random
- Создание именованных кортежей в Python
- Python и Юникод: работа с цифрами
- Проверка типов с помощью isinstance
- Функция enumerate в Python
- Поиск кода
- Разделение строки с регулярными выражениями
- Функции all и any в Python















