Python — это динамически типизированный язык, что означает, что типы переменных определяются во время выполнения. Однако с появлением подсказок типов в Python 3.5 и последующими улучшениями в более поздних версиях теперь можно добавить статическую типизацию в ваш код Python. Одной из полезных особенностей статической типизации является возможность определять типизированные словари с помощью класса TypedDict. В этой статье мы рассмотрим класс TypedDictи обсудим различные методы и варианты использования на примерах кода.
- Создание TypedDict:
Чтобы создать типизированный словарь, вам необходимо определить подклассTypedDictи указать ключи и соответствующие им типы значений. Вот пример:
from typing import TypedDict
class Person(TypedDict):
name: str
age: int
email: str
- Доступ к элементам 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]
- Наследование от TypedDict:
Вы можете создавать более сложные типизированные словари, наследуя от существующегоTypedDict:
class Employee(Person):
employee_id: int
department: str
- Объединение 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!