我对python中的文档字符串和注释之间的区别有点困惑。
在我的课上,我的老师介绍了一种被称为“设计秘诀”的东西,一组步骤据说可以帮助我们学生更好地用 Python 绘制和组织我们的编码。据我了解,以下是我们遵循的步骤的示例 - 这就是所谓的设计配方(引号中的内容):
def term_work_mark(a0_mark, a1_mark, a2_mark, ex_mark, midterm_mark):
''' (float, float, float, float, float) -> float
Takes your marks on a0_mark, a1_mark, a2_mark, ex_mark and midterm_mark,
calculates their respective weight contributions and sums these
contributions to deliver your overall term mark out of a maximum of 55 (This
is because the exam mark is not taken account of in this function)
>>>term_work_mark(5, 5, 5, 5, 5)
11.8
>>>term_work_mark(0, 0, 0, 0, 0)
0.0
'''
a0_component = contribution(a0_mark, a0_max_mark, a0_weight)
a1_component = contribution(a1_mark, a1_max_mark, a1_weight)
a2_component = contribution(a2_mark, a2_max_mark, a2_weight)
ex_component = contribution(ex_mark, exercises_max_mark,exercises_weight)
mid_component = contribution(midterm_mark, midterm_max_mark, midterm_weight)
return (a0_component + a1_component + a2_component + ex_component +
mid_component)
据我了解,这基本上是一个文档字符串,在我们的文档字符串版本中,它必须包括三件事:描述,如果您在 python shell 中输入函数应该做什么的示例,以及“类型协定”,显示您输入的类型以及函数将返回的类型的部分。
现在这一切都很好并且完成了,但是我们的任务要求我们也有注释来解释我们的函数的性质,使用标记“#”符号。
所以,我的问题是,我不是已经在文档字符串的描述部分解释了我的函数将做什么吗?如果我基本上是在告诉读者完全相同的事情,那么添加评论有什么意义呢?