开始使用 python 三重引号
Getting started on python triple quotes
我写了一个简单的三引号打印语句。见下文。对于 OVER 线稿,它被截断为两行不同的内容(当您将其复制粘贴到解释器中时。)但是,如果我在每行的末尾插入 space 或任何内容,则它可以正常打印。知道为什么 python.
中的这种行为
我倾向于认为这是由于行尾的\和/造成的,但我找不到具体原因。我尝试删除它们并进行了一些观察,但想要一个明确的推理..
print(
"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)
您的字符串中有 \
个反斜杠转义符,最后两行和第一行各一个,拼写 over,所有三个部分字母 R。这些向 Python 发出信号,表示您想 忽略 紧随其后的换行符。
要么在行尾的每个 \
反斜杠之后使用 space,双 反斜杠来转义,或者使用raw 字符串,在三重引号前加上 r
:
print(
r"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)
原始字符串不支持反斜杠转义,但转义引号(\"
和 \'
)除外,后者将 包含在反斜杠 中。
问题出在行尾的 \
,因此您需要转义它们。为此,我使用了另一个反斜杠。
print(
"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)
我写了一个简单的三引号打印语句。见下文。对于 OVER 线稿,它被截断为两行不同的内容(当您将其复制粘贴到解释器中时。)但是,如果我在每行的末尾插入 space 或任何内容,则它可以正常打印。知道为什么 python.
中的这种行为我倾向于认为这是由于行尾的\和/造成的,但我找不到具体原因。我尝试删除它们并进行了一些观察,但想要一个明确的推理..
print(
"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)
您的字符串中有 \
个反斜杠转义符,最后两行和第一行各一个,拼写 over,所有三个部分字母 R。这些向 Python 发出信号,表示您想 忽略 紧随其后的换行符。
要么在行尾的每个 \
反斜杠之后使用 space,双 反斜杠来转义,或者使用raw 字符串,在三重引号前加上 r
:
print(
r"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)
原始字符串不支持反斜杠转义,但转义引号(\"
和 \'
)除外,后者将 包含在反斜杠 中。
问题出在行尾的 \
,因此您需要转义它们。为此,我使用了另一个反斜杠。
print(
"""
_____ ____ __ __ ______
/ ____| / _ | / | /| | ____|
| | / / | | / /| /| | | |___
| | _ / /__| | / / |_/| | | ___|
| |__| | / / | | / / | | | |____
\_____/ /_/ |_| /_/ |_| |______|
______ _ _ ______ _____
/ __ \ | | / / | ____| | _ \
| | | | | | / / | |___ | |_| |
| | | | | | / / | ___| | _ /
| |__| | | |_/ / | |____ | | \ \
\______/ |____/ |______| |_| \_\
"""
)