【问题标题】:How to use triple quotes?如何使用三引号?
【发布时间】:2019-03-06 10:51:00
【问题描述】:
某些变量打印错误。
gv_sixTries = '''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
变量是这样打印的:
image
操作系统:Windows 10
解释器:Python IDLE 3.7.2
【问题讨论】:
标签:
python
string
variables
quote
【解决方案1】:
为您的字符串添加 r 前缀
gv_sixTries = r'''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
这告诉 python 使用字符串作为原始文字,而不是使用反斜杠作为转义字符
【解决方案2】:
问题来自于由于某些行末尾的反斜杠而不必要地转义了换行符。
只需在字符串前面加上 r 前缀来声明一个原始字符串,它就会解决问题。
gv_sixTries = r'''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
【解决方案3】:
该错误是由于字符串中用于打印转义序列字符(\n、\t、\ 等)的反斜杠字符引起的。使用原始字符串在屏幕上打印反斜杠字符,例如:
gv_Tries = r"""
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
"""
【解决方案4】:
问题是因为您的某些行以 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\
| | // | | \\
| | // | . | \\
'''