Python TypedDict: подробное руководство по типизированным словарям

Python — это динамически типизированный язык, что означает, что типы переменных определяются во время выполнения. Однако с появлением подсказок типов в Python 3.5 и последующими улучшениями в более поздних версиях теперь можно добавить статическую типизацию в ваш код Python. Одной из полезных особенностей статической типизации является возможность определять типизированные словари с помощью класса TypedDict. В этой статье мы рассмотрим класс TypedDictи обсудим различные методы и варианты использования на примерах кода.

  1. Создание TypedDict:
    Чтобы создать типизированный словарь, вам необходимо определить подкласс TypedDictи указать ключи и соответствующие им типы значений. Вот пример:
from typing import TypedDict
class Person(TypedDict):
    name: str
    age: int
    email: str
  1. Доступ к элементам TypedDict и их изменение.
    Вы можете получать доступ к элементам TypedDictи изменять их, используя знакомый синтаксис словаря:
person: Person = {'name': 'John', 'age': 30, 'email': 'john@example.com'}
print(person['name'])  # Output: John
person['age'] = 31
print(person['age'])  # Output: 31

<ол старт="3">

  • Необязательные и обязательные ключи.
    По умолчанию все ключи в TypedDictсчитаются обязательными. Однако вы можете сделать определенные клавиши необязательными, используя подсказку типа typing.Optional:
  • from typing import Optional
    class Person(TypedDict):
        name: str
        age: int
        email: Optional[str]
    1. Наследование от TypedDict:
      Вы можете создавать более сложные типизированные словари, наследуя от существующего TypedDict:
    class Employee(Person):
        employee_id: int
        department: str
    1. Объединение TypedDicts:
      Вы можете объединить несколько определений TypedDictс помощью метода typing.TypedDict:
    from typing import TypedDict
    class Person(TypedDict):
        name: str
        age: int
    class Address(TypedDict):
        street: str
        city: str
    class Profile(Person, Address):
        pass

    В этой статье мы рассмотрели класс TypedDictв Python, который позволяет нам определять словари со статическими типами. Мы рассмотрели различные методы, такие как создание TypedDict, доступ и изменение его элементов, создание необязательных ключей, наследование от TypedDictи объединение нескольких TypedDict. определения. Используя статическую типизацию с помощью TypedDict, вы можете улучшить читаемость кода, заранее обнаружить ошибки, связанные с типом, и улучшить общее качество кода.

    Не забывайте последовательно использовать подсказки типов во всей базе кода, чтобы получить максимальную выгоду от статической типизации в Python!