python - python 三重引号入门

标签 python python-3.x

我写了一个简单的三引号打印语句。见下文。对于 OVER lineart,它被截断为两行不同的行(当您将其复制粘贴到解释器中时。)但是,如果我在每行的末尾插入一个空格或任何空格,那么它可以正常打印。知道为什么在 python 中会出现这种行为。

我倾向于认为这是由于行尾的\和/,但我找不到具体原因。我尝试删除它们并进行了一些观察,但想要一个清晰的推理..

print(
               """
                 _____       ____       __  __   ______
                / ____|     / _  |     / |  /|  |  ____|
               | |         / / | |    / /| /| | | |___
               | |   _    / /__| |   / / |_/| | |  ___|
               | |__| |  / /   | |  / /     | | | |____
                \_____/ /_/    |_| /_/      |_| |______|

                ______   _      _   ______   _____
               /  __  \ | |    / / |  ____| |  _  \
               | |  | | | |   / /  | |___   | |_| |
               | |  | | | |  / /   |  ___|  |  _  /
               | |__| | | |_/ /    | |____  | | \ \
               \______/ |____/     |______| |_|  \_\

                """
               )

最佳答案

您的字符串中有 \ 反斜杠转义符,最后两行和第一行各有一个,拼写 over,字母的所有三个部分 < em>R。这些向 Python 发出信号,表明您想忽略紧跟其后的换行符。

要么在行尾的每个 \ 反斜杠之后使用一个空格,加倍反斜杠以进行转义,要么使用 raw 字符串,在三重引号前加上 r:

print(
               r"""
                 _____       ____       __  __   ______
                / ____|     / _  |     / |  /|  |  ____|
               | |         / / | |    / /| /| | | |___
               | |   _    / /__| |   / / |_/| | |  ___|
               | |__| |  / /   | |  / /     | | | |____
                \_____/ /_/    |_| /_/      |_| |______|

                ______   _      _   ______   _____
               /  __  \ | |    / / |  ____| |  _  \
               | |  | | | |   / /  | |___   | |_| |
               | |  | | | |  / /   |  ___|  |  _  /
               | |__| | | |_/ /    | |____  | | \ \
               \______/ |____/     |______| |_|  \_\

                """
               )

原始字符串不支持反斜杠转义,转义引号(\"\')除外,它们将包含在反斜杠中.

关于python - python 三重引号入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180511/

相关文章:

python - 使用 PyDrive 将图片上传到 Google Drive

python - 错误 "unsupported operand type(s) for -: ' str' 和 'float' ?

python - 如何拥有多个工具栏

不带 from 子句的 Python import 语句导入类而不是模块

javascript - 如何将上下文变量传输到 Django 中的 html 绑定(bind) JavaScript 代码中?

python - 开发反向查找字典的有效方法?

python - Python 中的指数分布

python - 调用 celery 任务挂起延迟和 apply_async

python - 在 python 中打开文件描述符

python - 编解码器无法编码字符python3