开始使用python三引号

时间:2015-01-27 21:38:37

标签: python python-3.x

我写了一个简单的三重引用打印声明。见下文。对于OVER艺术线条,它被截断为两个不同的行(当你将它粘贴到解释器中时。)但是,如果我在每行的末尾插入一个空格或任何行,那么它打印正常。知道为什么在python中会出现这种行为。

我倾向于认为这是由于\和/在行尾,但我找不到具体的理由。我尝试删除它们并且有一些观察但是想要一个明确的推理......

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

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

                """
               )

2 个答案:

答案 0 :(得分:7)

你的字符串中有\反斜杠转义符,最后两行各一行以及第一行拼写 over ,字母 R的所有三部分。这些信号告诉Python你想要忽略后面的换行符。

在一行的每个\反斜杠之后立即使用空格, double 反斜杠以逃避转义,或者使用 raw 字符串在三重引号前加上r

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

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

                """
               )

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

答案 1 :(得分:0)

问题在于行末\,因此您需要转义它们。为此,我使用另一个反斜杠。

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

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

            """
           )