当前位置: 首页 > 面试题库 >

在函数定义中带有三引号的字符串文字

齐文栋
2023-03-14
问题内容

我正在关注Python教程,有时他们会谈论函数的第一条语句如何成为字符串文字。就示例而言,此字符串文字似乎用三个"s完成,在示例中给出

"""Print a Fibonacci series up to n."""

根据此文档,这将主要用于创建某种自动生成的文档。

所以我想知道这里有人可以向我解释这些字符串文字到底是什么?


问题答案:

您所说的(我认为)被称为docstrings(感谢Boud提供链接)。

def foo():
    """This function does absolutely nothing"""

现在,如果您help(foo)从解释器中键入内容,您将看到我放入函数中的字符串。您还可以通过以下方式访问该字符串foo.__doc__

当然,字符串文字就是这样-文字字符串。

a = "This is a string literal"  #the string on the right side is a string literal, "a" is a string variable.

要么

foo("I'm passing this string literal to a function")

可以通过多种方式定义它们:

'single quotes'
"double quotes"
""" triple-double quotes """  #This can contain line breaks!

甚至

#This can contain line breaks too!  See?
''' triple-single 
    quotes '''


 类似资料:
  • 问题内容: 我有这个: JSONLint表示这是完全有效的json。但是执行时出现错误。 但是,如果我将代码更改为: (请注意双反斜杠) 它可以工作,但是现在JSONLint表示。 有人可以帮助您了解这种行为吗? 问题答案: 有线格式和您必须在代码中编写的格式之间是有区别的。当您在代码中声明此代码时,您需要在文字中使用双-\,以便字符串获得一个反斜杠(否则,它将\\解释为一个转义序列,仅声明一个“

  • 我在解析antlr4中的格式行列表时遇到了一个问题 但这是失败的第一个字符识别'*'本身,这使我困惑。 第1行:0不匹配的输入'*这是一个字符串',应为'*'

  • 问题内容: 我想用定界符空格分割字符串。但它应该智能地处理带引号的字符串。例如,像这样的字符串 它应该返回三个字符串John Smith,Ted和Barry。 问题答案: 弄乱它之后,您可以使用Regex来实现。在以下位置运行“全部匹配”的等效项: 一个Java示例: 输出: 上面使用示例的正则表达式分解可以在这里查看: http://regex101.com/r/wM6yT9 综上所述,正则表达

  • 问题内容: 我知道可以在Java字符串中用双引号将符号放在双引号之前。但是,如果在字符串中经常使用双引号,那么是否有一种方法可以将字符串标记一次,因此不需要在每个双引号之前写上符号吗?(就像在C#中一样,可以将符号放在字符串之前)示例: 代替 问题答案: 你不能 但是,如果您懒得不能使用双引号,则可以使用一些技巧。例如: 输出:

  • 我想打印如下内容: abc、def、ghi、JKL、mno、pqr 我刚写的时候: 所以我试着: 这给了我: abc、def、ghi、jkl、mno、pqr

  • 问题内容: 我想像这样在Bash中显示一个字符串 当然可以这样 但是如何在字符串周围使用单引号的同时完成此操作? 问题答案: 不起作用。但是以下工作原理: 在bash的手册页中: 即使在单引号之前加反斜杠,也不能在单引号之间引起单引号。 .... $’string’* 形式的单词经过特殊处理。该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。 *