[英]What is the difference between string literals and string values?
字符串文字是您可以在程序源代碼中編寫的一段文本,以引號開頭和結尾,告訴 Python 創建具有特定內容的字符串。 看起來像
'asdf'
或者
'''
multiline
content
'''
或者
'the thing at the end of this one is a line break\n'
在字符串文字中(原始字符串文字除外),字符串文字中稱為轉義序列的特殊字符序列將替換為實際字符串中的不同字符。 例如,字符串文字中的轉義序列\n
將替換為實際字符串中的換行符。 轉義序列以反斜杠開頭。
字符串是表示文本值的 Python object。 它可以從字符串文字構建,也可以從文件中讀取,也可以源自許多其他來源。
字符串中的反斜杠沒有特殊含義,大多數可能的字符串來源中的反斜杠也沒有特殊含義。 例如,如果您有一個包含反斜杠的文件,如下所示:
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"
不是同一個字符串文字 - 許多不同的字符串文字可以評估為相等的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.