【发布时间】:2020-05-23 16:41:20
【问题描述】:
【问题讨论】:
-
字符串文字是您在源代码中键入的内容。字符串值是您
print时输出的值。
标签: python string string-literals
【问题讨论】:
print 时输出的值。
标签: python string string-literals
字符串文字是您可以在程序源代码中编写的一段文本,以引号开头和结尾,它告诉 Python 创建具有特定内容的字符串。好像
'asdf'
或
'''
multiline
content
'''
或
'the thing at the end of this one is a line break\n'
在字符串文字中(原始字符串文字除外),字符串文字中称为转义序列的特殊字符序列被实际字符串中的不同字符替换。例如,字符串文字中的转义序列\n 将替换为实际字符串中的换行符。转义序列以反斜杠开头。
字符串是表示文本值的 Python 对象。它可以从字符串文字构建,也可以从文件中读取,也可以源自许多其他来源。
字符串中的反斜杠没有特殊含义,大多数可能的字符串来源中的反斜杠也没有特殊含义。例如,如果您有一个包含反斜杠的文件,如下所示:
asdf\n
你会的
with open('that_file.txt') as f:
text = f.read()
文件中的\n 不会被换行符替换。反斜杠在字符串文字中是特殊的,但在大多数其他上下文中不是。
当您通过调用repr 或通过交互方式显示字符串来请求字符串的repr 表示时:
>>> some_string = "asdf"
>>> some_string
'asdf'
Python 将构建一个新字符串,其内容是一个字符串字面量,该字符串将评估为原始字符串。在此示例中,some_string 中没有 ' 或 " 字符。字符串内容为asdf这四个字符,如果你print字符串显示的字符:
>>> print(some_string)
asdf
但是,repr 表示中包含 ' 字符,因为 'asdf' 是一个字符串文字,可以计算为字符串。请注意,'asdf' 与我们最初使用的 "asdf" 不是同一个字符串文字 - 许多不同的字符串文字可以计算为相等的字符串。
【讨论】:
'abcd' 是字符串文字。