Skip to main content
 首页 » 编程设计

python之python 三重引号入门

2025年05月04日15leader

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

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

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

请您参考如下方法:

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

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

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

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