【问题标题】:Indent and comments in function in PythonPython函数中的缩进和注释
【发布时间】: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呢?

【问题讨论】:

    标签: python


    【解决方案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 提供了注释文本块的快捷方式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-05
        • 2016-07-20
        • 2011-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多