在Python中创build多行注释的方法?

我最近开始学习Python ,但是我找不到如何实现多行注释。 大多数语言都有块注释符号

/* */ 

我在Python中试过,但是它会抛出一个错误,所以这可能不是正确的方法。 Python实际上是否有多行注释function?

您可以使用三重引号的string。 当它们不是一个文档string(类/函数/模块中的第一件事)时,它们被忽略。

 ''' This is a multiline comment. ''' 

(确保正确缩进前导'''以避免IndentationError 。)

Guido van Rossum(Python的创build者) 推特称这是“专业技巧”。

然而,Python的风格指南PEP8 倾向于使用连续的单行注释 ,这也是你在许多项目中所能find的。 编辑通常有一个简单的方法来做到这一点。

Python没有多行string/注释语法 ,除非用作文档string,否则多行string不会生成字节码 – 就像#添加注释。 实际上,它的行为完全像一个评论。

另一方面,如果你说这个行为必须在官方文档中logging为一个真正的注释语法,那么是的,你可以说它不能保证作为语言规范的一部分。

在任何情况下,您的编辑也应该能够轻松地注释出一个选定的区域(通过在每行前单独放置一个# )。 如果没有,切换到一个编辑器。

在没有某些文本编辑function的情况下用Python进行编程可能是一个痛苦的经 find正确的编辑器(并知道如何使用它)可以在Python编程体验的感知方面产生重大影响。

编辑器不仅可以注释选定区域,还可以轻松地将代码块左右移动,并且在按Enter键时自动将光标放置在当前缩进级别。 代码折叠也是有用的。


为了防止链接衰退,以下是Guido van Rossum的推文内容 :

@BSUCSClub Python提示:您可以使用多行string作为多行注释。 除非用作文档,否则不生成代码! 🙂

在Python 2.7中,多行注释是:

 """ This is a multilline comment """ 

如果你在课堂上,你应该正确地select它。

例如:

 class weather2(): """ def getStatus_code(self, url): world.url = url result = requests.get(url) return result.status_code """ 

我希望它有帮助!

AFAIK,Python没有块评论。 为了评论各条线,你可以使用#字符。

如果您使用的是Notepad ++ , 则可以使用块注释的快捷方式 。 我相信像gVim和Emacs这样的其他人也有类似的function。

从接受的答案…

您可以使用三重引号的string。 当它们不是一个文档string(类/函数/模块中的第一件事)时,它们被忽略。

这是不正确的。 与注释不同,三引号string仍然被parsing,并且必须在语法上有效,无论它们出现在源代码中的哪个位置。

如果您尝试运行此代码…

 def parse_token(token): """ This function parses a token. TODO: write a decent docstring :-) """ if token == '\\and': do_something() elif token == '\\or': do_something_else() elif token == '\\xor': ''' Note that we still need to provide support for the deprecated token \xor. Hopefully we can drop support in libfoo 2.0. ''' do_a_different_thing() else: raise ValueError 

你会得到…

 ValueError: invalid \x escape 

…在Python 2.x或…

 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape 

…在Python 3.x.

执行parsing器忽略的多行注释的唯一方法是…

 elif token == '\\xor': # Note that we still need to provide support for the deprecated # token \xor. Hopefully we can drop support in libfoo 2.0. do_a_different_thing() 

我认为它不,除了多行string不处理。 然而,即使不是所有的Python IDE都有一个“注释”多行代码的快捷键。

在Python 2.7.13上:

单:

 "A sample single line comment " 

多行:

 """ A sample multilline comment on PyCharm """ 

'''评论你想在这里'''

那么你可以试试这个

 """ print("Whats your name ?") myName = input() print("Its nice to meet you " +myName ) print("No of charecter is ") print(len(myName)) age = input("Whats your age:") print("you will be " +str(int(age)+1) +" next year" ) """ a = input() print(a) print(a*5) 

无论在什么之间包围"""都会被评论。

如果你正在寻找单行评论,那么它的#

希望它有帮助。

快乐的编码。