python - 在 python 中使用多行和单行字符串文字有什么好处?

标签 python string literals string-literals docstring

我知道三重引号字符串用作文档字符串,但是否真的需要两个字符串文字?

在识别单行和多行之间是否有用时是否有任何用例。

在 Clojure 中,我们有 1 个字符串文字,是多行的,我们将其用作文档字符串。那么为什么 python 会有所不同呢?

最佳答案

必须明确创建多行字符串文字的优点可能最好用一个例子来证明:

with open("filename.ext) as f:
    for line in f:
        print(line.upper())

当然,任何体面的语法高亮编辑器都会捕捉到这一点,但是:

  1. 使用语法高亮编辑器并不总是这样
  2. Python 无法控制您使用的编辑器。

Python的两条设计原则是

  • 错误不应该悄悄过去,并且
  • 显式优于隐式。

在 docstrings 之外,多行字符串在 Python 中很少使用,因此上面的示例比您想要多行字符串但忘记明确说明的情况更容易发生(每个人有时都会打错)三重引号。

它类似于 Python 对重要空格的使用,因为强制执行良好、一致的缩进实践意味着比在 Python 中更容易发现错误。大括号分隔的语言。

关于python - 在 python 中使用多行和单行字符串文字有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18294318/

相关文章:

javascript - 如何为 javascript 排序函数制作一个有效的比较器来对字符串数组进行排序?

c - 使用 scanf() 和 switch 语句计算字符串中的字符数

c# - 如何在字符串文字中引用\"(斜杠双引号)?

字符串文字的 JavaScript 正则表达式?

python - Django Admin - 默认情况下授予员工访问某些区域的权限

python - 如何在 Python 3.6 中使用异步生成器?

python - 如何加载网页(不在浏览器中)然后获取该网页的网址?

python - 如果单个评估失败,则从 ipyparallel 映射中恢复值

c - 打印字符串时出错

c++ - 在 C++ 中声明长文字时是否需要长后缀和无符号后缀?