使用继承创建一个新的TypedDict,并重新定义需要更改类型的字段。因为更改类型可能破坏类型安全性,所以不允许直接更改字段类型。
示例代码:
from typing import TypedDict
class Person(TypedDict):
name: str
age: int
class Employee(Person):
age: float # 更改了age字段的类型,从int改为float
employee: Employee = {"name": "John Doe", "age": 30.5} # 正确,可以将Employee视为Person
person: Person = {"name": "Jane Doe", "age": 25} # 正确
employee_2: Employee = {"name": "Jack Smith", "age": "30"} # 错误,age的类型必须是float