2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用r"$\displaystyle \binom n r = \dfrac{n!}{r!(n-r)!}$"
。這稱為原始字符串。你可以在這里閱讀更多相關(guān)信息
通常,您可以使用以下格式的原始字符串:
普通字符串:
'Hi\nHow are you?'
輸出:
Hi How are you?
原始字符串:
r'Hi\nHow are you?'
輸出:
Hi\nHow are you?

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
為了清楚起見(jiàn),我已經(jīng)更新了我的答案。
如果字符串直接來(lái)自 API,那么它應(yīng)該已經(jīng)是原始格式(或者您可以訪問(wèn)的最原始格式),例如r"$\displaystyle \binom n r = \dfrac{n!}{r!(n-r)!}$"
. 因此,Python 不會(huì)假定轉(zhuǎn)義字符,也不應(yīng)該有問(wèn)題。
要回答有關(guān)原始字符串的其他問(wèn)題 - 要在 Python 中將字符串打印為原始字符串,請(qǐng)嘗試該repr
函數(shù),該函數(shù)返回給定對(duì)象的可打印表示字符串。
query = "$\displaystyle \binom n r = \dfrac{n!}{r!(n-r)!}$" print(repr(query))
這是輸出: '$\\displaystyle \x08inom n r = \\dfrac{n!}{r!(n-r)!}$'
請(qǐng)注意,在上面的真實(shí)原始數(shù)據(jù)中query
,\b
字符在技術(shù)上仍存儲(chǔ)為\b
編碼(或\x08
),而不是兩個(gè)單獨(dú)的字符。您可能會(huì)問(wèn),為什么不\d
存儲(chǔ)為編碼?因?yàn)?code>\d不是有效的編碼轉(zhuǎn)義序列,所以它被忽略并且 Python 將其\
視為字符。(啊……默默無(wú)視解析錯(cuò)誤,這不就是我們熱愛(ài) Python 的原因嗎?)
那么這個(gè)例子呢?
query = r"$\displaystyle \binom n r = \dfrac{n!}{r!(n-r)!}$" print(repr(query))
看起來(lái)不錯(cuò),但是等等,Python 會(huì)打印'$\\displaystyle \\binom n r = \\dfrac{n!}{r!(n-r)!}$'
.
為什么\\
?好吧,該repr
函數(shù)返回給定對(duì)象的可打印表示字符串,因此為避免混淆,該\
字符已正確轉(zhuǎn)義為\
,創(chuàng)建\\
.
所有這一切都回到了你的問(wèn)題 - 如果字符串的值直接來(lái)自 API 調(diào)用,那么字符串?dāng)?shù)據(jù)應(yīng)該已經(jīng)從二進(jìn)制編碼轉(zhuǎn)換而來(lái),轉(zhuǎn)義序列之類的東西應(yīng)該不是問(wèn)題(因?yàn)樗鼈儾辉谠紨?shù)據(jù)中)。但是在您提供的示例中,您以一種query = "st\ring"
格式聲明了一個(gè)字符串,不幸的是,這不等同于從 API 中檢索一個(gè)字符串,顯而易見(jiàn)的解決方案是使用該query = r"st\ring"
格式。
添加回答
舉報(bào)