如何键入提示具有不同类型值的字典

如何键入提示具有不同类型值的字典,第1张

如何键入提示具有不同类型值的字典

您正在寻找TypedDict。目前,它只是一个仅适用于mypy的扩展程序,但是有计划使其在不久的将来成为官方认可的类型。不过,我不确定PyCharm是否支持此功能。

因此,就您而言,您可以:

from mypy_extensions import TypedDictRectangleElements = TypedDict('RectangleElements', {    'front': Line,    'left': Line,    'right': Line,    'rear': Line,    'cog': float,    'area': float,    'pins': Optional[List[Pin]]})class Rectangle:    def __init__(self, corners: Tuple[Tuple[float, float]], **kwargs):        self.x, self.z = corners[0][0], corners[0][1]        self.elements = { 'front': Line(corners[0], corners[1]), 'left': Line(corners[0], corners[2]), 'right': Line(corners[1], corners[3]), 'rear': Line(corners[3], corners[2]), 'cog': calc_cog(corners), 'area': calc_area(corners), 'pins': None        }  # type: RectangleElements

如果您使用的是Python
3.6+,则可以使用基于类的语法来更好地键入所有内容。

不过,在您的特定情况下,我认为大多数人只会将这些数据存储为常规字段而不是字典。我确定您已经考虑了该方法的优缺点,所以我将不为您讲解。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5649126.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存