我目前正在学习Python,之前我是用Java的,评论无非如下所示:
//Para una sola línea de código en Java
/* Para poder realizar un comentario
en varias líneas en Java*/
前段时间我Python
开发一个考试,我在 的帮助下创建了一个Web系统(以下教程),Django
工作表中出现了带有3个双引号()的评论"""
,如下图所示:
"""
Django settings for libreria project.
Generated by 'django-admin startproject' using Django 2.1.2.
For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""
我直接从我系统上的文件中获取了上述内容
另一方面:
#Para un comentario de una sola línea en `Python`
现在我发现要对几行发表评论是:
#Para poder realizar un comentario
#de varias líneas, al colocar una almohadilla
#al final de la frase el IDE genera la almohadilla
#izquierda automáticamente#
只有填充用于注释,无论它们是单行还是更多。
然后:
- 三重双引号和井号都适用于多行注释吗?
- 在代码中注释时使用其中一种有区别吗?
- 是否有使用其中一种的规则(取决于某些东西?)?
严格来说,这些评论是专门用散列制作的。
它们可以是块评论:
按照惯例,遵循以下规则:
#
行评论:
按照惯例:
#
后跟一个空格。三引号(双引号
"""
和单引号'''
)是一种创建也可以是多行的字符串文字的方法:我们还可以在 Python 中仅使用单引号和双引号创建字符串文字:
两种形式没有区别,但如果一种用于指定字面量,另一种可以在字面量内部使用而无需转义:
尽管在 Python 代码中使用三引号文字而不分配任何变量的“注释”很常见,但它们并不是真正的注释。真实的是,(非交互式)解释器在生成字节码并解释它时忽略了这些行(没有赋值),所以它们实际上变成了注释,而不是真正的注释,也不是正确的方法。.
有一个例外需要考虑,如果在定义函数、方法或类之后的第一行中声明了此文字,则它们具有特殊功能,即所谓的docstring或文档字符串。它们是用作该对象的文档和使用指南的字符串。文档字符串的约定在PEP 257中定义。
总结:
第一行必须是对象用途的简短摘要,不得明确说明对象的名称或类型,并且必须始终以大写字母开头并以句点结尾。
如果只存在前一行,则不应在其前后添加空格。引号必须在同一行关闭。
它不应该是函数签名,这是通过自省完成的,并且是多余的。仅当函数签名是用 C/C++ ( C/C++ API )编写时才应指定,其中内省无法到达。
如果有更多行,第二行应该是空白的,在视觉上将摘要与描述的其余部分分开。
额外的行提供了有关对象调用约定、副作用、返回等的信息。
当多行时,结束的三引号必须独立于最后一行,最好前面有一个空行。
尽管可以使用用单引号或双引号声明的字符串文字,但按照惯例(并且因为它通常不止一行)即使它们在单行上也会使用三引号。
这个字符串(除了帮助阅读它的人理解代码之外)可以通过
__doc__
对象的特殊属性访问,并且这个方法可以由 buitin使用,在终端中调用脚本时指定/help
参数时使用,由开发环境和代码编辑器本身在编写代码时显示弹出帮助,通常由任何其他文档生成器或解析器:-h
--help
所有供公众使用的包、脚本、模块、方法、类和函数都应定义其文档字符串。在非公共方法中不需要它们,但有评论描述它们的作用并没有什么坏处。
为了完成澄清,如果此时有人想知道为什么 Django 使用三引号作为注释...您放置的示例不是注释,它实际上是 Django 自动生成的模块的文档字符串。在这种特定情况下,它是 的默认文档字符串
settings.py
,就像函数、方法等一样。文档解析器使用它,包括命令行上的/help
参数等:-h
--help