是否必须为 __init__ 做注释?

Posted

技术标签:

【中文标题】是否必须为 __init__ 做注释?【英文标题】:Is it obligatory to do annotation for __init__? 【发布时间】:2021-11-10 18:00:16 【问题描述】:

PEP8 声明返回__init__ 的注解必须是None。我有义务在代码风格方面这样做吗?如果我到处做注释,省略__init__,我的代码会不会看起来有问题?

【问题讨论】:

【参考方案1】:

来自PEP 484 - Type Hints,在基本原理和目标部分下,非目标小节内容如下:

还应该强调的是,Python 仍将是一种动态类型语言,作者不希望强制类型提示,即使按照惯例也是如此。

如果您不想包含注释,则不必包含注释。也就是说,如果您打算在任何地方都包含注释,则为 __init__ 省略它们可能看起来不合适。

来自PEP 8的介绍,

[...] 与本样式指南保持一致很重要。项目内部的一致性更为重要。一个模块或功能内的一致性是最重要的。

【讨论】:

转述。没关系。但要与你自己和已经存在的代码保持一致。

以上是关于是否必须为 __init__ 做注释?的主要内容,如果未能解决你的问题,请参考以下文章

特殊成员

SMACH----状态State类的实现和中文注释

将当前类作为返回类型注释[重复]

类方法返回实例的 MyPy 注释

python内置函数和序列化

Python_01_变量_注释_input_if_缩进