我只是 python 的新手。
正如我在python中所知道的那样,多行注释是这样的
"""
this is a comments
"""
但考虑这段代码
somevariable="""this is a variable"""
print somevariable
它打印出这是一个变量
,python 中的注释和字符串是相同的还是不同的?
我只是 python 的新手。
正如我在python中所知道的那样,多行注释是这样的
"""
this is a comments
"""
但考虑这段代码
somevariable="""this is a variable"""
print somevariable
它打印出这是一个变量
,python 中的注释和字符串是相同的还是不同的?
第一个不是评论,它是一个字符串。但是由于您没有对该字符串做任何事情(打印它,将其分配给变量等),所有解释器都会说“是的,这是一个字符串!” 并完全忽略它。有效地使其与注释相同,因为它是解释器忽略的任意文本。
Python 中没有多行注释。它们都只是字符串。前者通常用作文档字符串,并将与函数/类/模块相关联,而另一个被分配给变量。
python中的注释和字符串是一样的吗?
严格来说,它们并不相同。但是在您的问题中,您所说的“评论”实际上是一个字符串。注释是字符之后出现在同一行中的所有内容#
。
一个.py:
"""
comment1
"""
# comment2
现在:
% strings a.pyc | grep comment
comment1
如您所见,comment2
is 不是编译字节码的一部分,而comment1
is -- 因为它不是注释,它是一个字符串。
正如其他人指出的那样,字符串被认为是docstring
. docstring
s 通常用于记录您的代码,而注释则用于注释,并且不包含在文档中。
是的,它们是一样的
它被称为文档字符串您可以在此处找到有关此类字符串的更多信息:http: //www.pythonforbeginners.com/basics/python-docstrings/
是的,它们是一样的。包含注释字符串作为函数或类的第一条语句是一种惯例。
混乱来自文档字符串。
这实际上不是注释,而是一种制作多行字符串的方法:
>>> """This is a string
... with line breaks"""
'This is a string\nwith line breaks'
在类和函数中使用相同的符号来记录它们:
>>> def my_function():
... """This function does stupid things."""
... return 1/0
...
>>> my_function.__doc__
'This function does stupid things.'
>>> my_function()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in my_function
ZeroDivisionError: division by zero
所以你的代码:
somevariable = """this is a variable"""
真的只是等于:
somevariable = "this is a variable"
第一个片段不是评论。它是一个字符串。Python 中的注释以#
字符为前缀。
>>> somevariable="""
... this is not a comment
... """
>>> print(somevariable)
this is not a comment