您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

实例变量Python的类型提示约定

实例变量Python的类型提示约定

__init__在大多数情况下,我建议使用第一个版本,在第一个版本中,将类型分配给方法的参数。

该特定方法的冗余最少,同时仍允许类型检查器验证您__init__是否在代码的其他位置正确调用了该方法

我建议您使用第二个或第三个版本,__init__当您的__init__方法变得足够复杂到可以应用以下一项或多项内容时,您可以在其中显式注释字段(内部或外部):

但是,我不清楚是首选第二版还是第三版- 我个人更喜欢第三版,因为它在概念上更简洁,并且似乎没有将实例属性与类属性混合使用,但是我不能否认第二个版本看起来更干净。

我在“键入”问题通道上进行了询问,并得到了Guido的以下回复(Gudo是您不知道的人,他使用Python,目前正在研究mypy并键入相关内容):

无论哪种方式,都有强烈的意见。我确实确实更喜欢将属性注释放在类主体中,而不是在整个__init__方法和其他方法中使用它们。我还认为,使用PEP 526,这将是未来(还包括基于类的NamedTuple声明以及https://github.com/ericvsmith/dataclasses之类的东西)。

引用链接

因此,似乎推荐使用第二个版本而不是第三个版本,并且在将来的某个时候,以这种方式定义类将更加深入地集成到Python语言本身中!

PEP 557,数据类最近接受(?),似乎是在赛道上被包括在Python 3.7。

python 2022/1/1 18:27:37 有184人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶