Python函数中的缩进和注释
Posted
技术标签:
【中文标题】Python函数中的缩进和注释【英文标题】:Indent and comments in function in Python 【发布时间】:2015-11-04 11:17:47 【问题描述】:我正在使用 Python 2.7 并编写了以下内容:
定义算术(A): x=1 """ 这里有一些cmets """ 如果 x=1: x=1 elif x=2: x=2 返回 0但它有缩进问题:
如果 x=1: ^ IndentationError:意外缩进那么如何在函数中写cmets呢?
【问题讨论】:
【参考方案1】:""" xxx """
是 docstring
。是的,它可以用作注释,但它最终会成为实际代码的一部分,因此需要缩进:
def arithmetic(A):
x=1
"""
Some comments here
"""
if x==1:
x=1
elif x==2:
x=2
return 0
如果您使用以#
开头的面向行的 cmets,则它们不是实际代码的一部分,因此它们的缩进无关紧要。
关于文档字符串的一个好处是工具可以使用它们,例如,显示有关函数的信息。如果你曾经在 Python 命令提示符下使用过help(some_function)
,你就会看到一个文档字符串。
实际上,如果将函数加载到 IDE 中,然后键入 help(arithmetic)
,则可以看到 "Some comments here"
。
我稍微修改了您的代码,因为在 Python 中,=
用于赋值,您必须在 if
语句中使用 ==
来检查是否相等。
因此代码将按原样编译和运行,但请注意,只有在 x 已经等于 1 时才将 x 设置为 1 实际上不会做任何事情:)
【讨论】:
【参考方案2】:在 Python 中 cmets 需要与其他代码块具有相同的对齐方式,例如
def arithmetic(A):
x=1
"""
Some comments here
"""
if x=1:
x=1
elif x=2:
x=2
return 0
通常人们使用#
进行内联评论,例如:
def func(a):
a = 5
# I am a comment
c = 6
【讨论】:
这并不完全正确。注释实际上不需要与函数具有相同的缩进(尽管我认为它可以更容易地知道注释是函数的一部分)文档字符串(第一行中的“””)确实需要对齐 【参考方案3】:循环,
python 中的注释使用井号# 用于单行 cmets 和用于多行 cmets 的三引号 多线 cmets 的问题是它们有时很挑剔,必须 缩进或者你会得到这个错误
见Way to create multiline comments in Python?
还请注意许多 python 样式指南和项目通常使用 # 表示 cmets。许多文本编辑器和 IDE 提供了注释文本块的快捷方式
【讨论】:
以上是关于Python函数中的缩进和注释的主要内容,如果未能解决你的问题,请参考以下文章