如何在Python中写内联注释

93 投票
9 回答
71487 浏览
提问于 2025-04-18 14:09

在Python中,有没有什么方法可以结束单行注释呢?

就像这样

/* This is my comment */ some more code here...

9 个回答

3

我很想要那种行内注释的功能,主要是为了临时注释掉函数中的参数或者列表/字典中的元素。在其他语言中是可以做到的:

afunc(x, /*log=True*/, whatever=True)
alist = [1,2,3]

我想,唯一的解决办法就是把它们放在单独的行上,比如:

afunc(
    x,
    # log=True,
    whatever=True,
)

alist = [
   1,
   # 2,
   3,
]

不过,由于Python常常被用作快速原型开发的语言,而且函数(因为没有重载)通常有很多可选参数,这种解决方案让我觉得不太“Python风格”...

更新

不过我现在真的很喜欢这个“解决办法”,也改变了我对它不够Python风格的看法。此外,一些格式化工具,比如Black,如果你在参数或数组/字典的末尾加上注释,它会自动把参数或元素安排在单独的行上。这被称为魔法尾随逗号

4

不,Python里没有那种行内块注释的写法。
不过你可以把注释放在右边,这样就能在同一行里写代码和注释了。
不过,把注释放在代码左边会让阅读变得困难,所以最好还是这样做。

举个例子:

x = 1 # 我的变量

12

你可以插入行内注释。就像这样

x=1; """ Comment """; x+=1; print(x);

我的Python版本是 "3.6.9"

52

在Python中,空白字符非常重要,所以除了用#符号的注释外,不允许其他类型的注释,这种注释会一直到行末。来看这段代码:

x = 1
for i in range(10):
             x = x + 1
/* Print. */ print x

因为缩进决定了代码的范围,解析器(就是负责读取和理解代码的程序)没有好的办法来判断代码的执行顺序。它不能合理地去掉注释,然后再执行后面的代码。(这样做也会让人类读起来更费劲。)所以,Python不允许在代码中间加注释。

103

不,Python 中没有行内注释。

根据文档的说明:

注释是以一个井号(#)开始的,这个井号不能是字符串的一部分,并且注释会一直持续到这一行的末尾。注释表示逻辑行的结束,除非使用了隐式行连接的规则。语法会忽略注释;它们不是代码的一部分。

撰写回答