如何使用三引号?

时间:2019-03-06 10:51:00

标签: python string variables quote

由于某些原因,即使使用三引号,文本也会打印错误 这些是我遇到问题的变量...我还有其他带有三引号的变量,这些变量在打印时可以正确打印!问题只在于这些ASCII码

其中一个有问题的变量是此ASCII,而其他变量只是在较少的身体部位上是相同的;)

    gv_sixTries = '''
___________.._______ 
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  \
| |          ||  `/,|
| |          (\\`_.'
| |         .-`--'.
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
| |     ')   |   |   (`
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | \
| |         `-' `-'      
| |                      
| |                      
: :                        
. .                      
'''

该变量将像这样打印: image

打印代码只是正常打印(gv_NUMBER次尝试)

操作系统:Windows 10

解释器:Python IDLE 3.7.2

4 个答案:

答案 0 :(得分:2)

在字符串中添加r

gv_sixTries = r'''
    ___________.._______ 
    | .__________))______|
    | | / /      ||
    | |/ /       ||
    | | /        ||.-''.
    | |/         |/  _  \
    | |          ||  `/,|
    | |          (\\`_.'
    | |         .-`--'.
    | |        /Y . . Y\
    | |       // |   | \\
    | |      //  | . |  \\
    | |     ')   |   |   (`
    | |          ||'||
    | |          || ||
    | |          || ||
    | |          || ||
    | |         / | | \
    | |         `-' `-'      
    | |                      
    | |                      
    : :                        
    . .                      
    '''

这告诉python将字符串使用原始文字,而不使用反斜杠作为转义字符

答案 1 :(得分:0)

问题出在某些行的末尾,因为反斜杠导致不必要的新行字符转义。

只需在字符串的前面加上r即可声明原始字符串,这将解决此问题。

gv_sixTries = r'''
___________.._______ 
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  \
| |          ||  `/,|
| |          (\\`_.'
| |         .-`--'.
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
| |     ')   |   |   (`
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | \
| |         `-' `-'      
| |                      
| |                      
: :                        
. .                      
'''

答案 2 :(得分:0)

该错误是由于字符串中的反斜杠字符引起的,该字符用于打印转义序列字符(\ n,\ t,\等)。使用原始字符串在屏幕上打印反斜杠字符,例如:

gv_Tries = r"""
___________.._______
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  \
| |          ||  `/,|
| |          (\\`_.'
| |         .-`--'.
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
| |     ')   |   |   (`
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | \
| |         `-' `-'
| |
| |
: :
. .
"""

答案 3 :(得分:0)

问题是因为您的某些行以Python转义字符结尾:\

  

反斜杠(\)字符用于转义具有特殊含义的字符,例如换行符,反斜杠本身或引号字符。

     

String and Bytes literals

当一行以反斜杠结束时,它告诉Python该行在下一行继续。

if some_condition \
    or some_other_condition:

要解决此问题,您要么想将反斜杠“加倍”以逃避转义字符:

gv_sixTries = '''
| |        /Y . . Y\\
| |       // |   | \\\\
| |      //  | . |  \\\\
'''

或用r标记字符串以将其标记为原始字符串

  

字符串和字节文字都可以选择以字母'r''R'开头;这样的字符串称为原始字符串,并将反斜杠视为原义字符。

     

String and Bytes literals

gv_sixTries = r'''
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
'''