【发布时间】:2018-06-25 15:24:57
【问题描述】:
当我尝试遵循 PEP8 并在文档字符串中包含一个涉及继承的类时,PEP8 的 PyCharm/PyCode Check 总是给我一个警告,即继承的参数没有引用。删除这些更好吗?我应该在子类中提到参数吗?
例如
模块 1
class Parent:
"""Parent class
:param plugin: a plugin
:type plugin: plugin type
"""
def __init___(self,plugin):
self.plugin = plugin
模块 2
class Child(Parent):
"""
:param plugin: the plugin from parent class
"""
模块 2 会给我一个关于插件没有参考的警告。 PEP8 的最佳实践?
【问题讨论】:
-
就我个人而言,我喜欢在孩子中有一个
__init__(plugin),即使它包含的只是super().__init__(plugin),这样签名对读者来说是清楚的(特别是如果类定义是分开的文件)。这也将满足 PyCharm 的检查器。但是,请记住,重要的是代码的可读性/清洁度,而不是检查器是否在没有警告的情况下运行。毕竟,它是为了协助作为开发人员的您。 -
我不相信 Pep8 对这个问题有任何具体的说法,但我认为标准做法是不包括或提及孩子的父母的文档字符串,而是提及任何 子特定 行为 - 子继承 父的文档字符串,除非另有说明。