首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串文字和字符串值之间有什么区别?

字符串文字和字符串值之间有什么区别?
EN

Stack Overflow用户
提问于 2020-05-23 16:41:20
回答 1查看 4K关注 0票数 8

看这个answer

--我认为您的困惑是,您混淆了源代码中字符串文字的概念和实际的字符串值。

字符串文字和字符串值之间有什么区别?我不明白这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 16:52:24

字符串文字是可以在程序源代码中编写的一段文本,开头和结尾都有引号,它告诉Python创建一个具有特定内容的字符串。看起来像是

代码语言:javascript
复制
'asdf'

代码语言:javascript
复制
'''
multiline
content
'''

代码语言:javascript
复制
'the thing at the end of this one is a line break\n'

在字符串文本(原始字符串文本除外)中,字符串文本中称为转义序列的特殊字符序列在实际字符串中被替换为不同的字符。例如,字符串文本中的转义序列\n被替换为实际字符串中的行提要字符。转义序列以反斜杠开头。

字符串是表示文本值的Python对象。它可以从字符串文本构建,也可以从文件中读取,也可以从许多其他来源生成。

字符串中的反斜杠没有特殊意义,在大多数可能的字符串源中反斜杠也没有特殊意义。例如,如果文件中有反斜杠,如下所示:

代码语言:javascript
复制
asdf\n

而你却有

代码语言:javascript
复制
with open('that_file.txt') as f:
    text = f.read()

文件中的\n将不会被换行。反斜杠在字符串文本中是特殊的,但在大多数其他上下文中则不是。

当您请求字符串的repr表示时,可以通过调用repr或以交互方式显示字符串:

代码语言:javascript
复制
>>> some_string = "asdf"
>>> some_string
'asdf'

Python将构建一个新的字符串,其内容为字符串文本,该字符串将计算为原始字符串。在本例中,some_string中没有'"字符。该字符串的内容是四个字符asdf,如果您print该字符串,则显示这些字符:

代码语言:javascript
复制
>>> print(some_string)
asdf

但是,repr表示中包含'字符,因为'asdf'是一个字符串文本,它将对字符串进行计算。请注意,'asdf'与我们最初使用的"asdf"不是同一个字符串文字--许多不同的字符串文本可以计算为相等的字符串。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61975353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档