亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲得函數打印的單個“\”(反斜杠)?

如何獲得函數打印的單個“\”(反斜杠)?

aluckdog 2023-10-06 11:00:26
我正在嘗試使用 Jupyter 筆記本打印帶有 python 函數的內容。舉個例子,假設我想要一個打印 '\x' 的函數,其中 'x' 是函數的參數。def mu():    a="\\"    b="mu_"    return (a+b)這應該給我 '\mu_' 作為輸出。但它給了我 '\\mu_' 作為輸出。我首先嘗試使用單個“\”,但出現錯誤。我在堆棧溢出中找到了該問題的答案,它允許使用雙反斜杠即“\\”打印單個“\”,但這僅適用于 print() 命令,而不是在函數內部。這在函數內部不起作用。有沒有一種方法可以使上述函數按我想要的方式工作,并在輸出中得到一個“\”作為“\mu_”?編輯:任何奇數個反斜杠都會發生這種情況。但是當我使用偶數個反斜杠時,我會得到相同的偶數個反斜杠。對于奇數,錯誤為:  File "<ipython-input-25-e1de4609aed4>", line 2a='\\\'       ^SyntaxError: EOL while scanning string literal對于上述錯誤,我a = '\\\'在與上面相同的函數中定義。我希望我能清楚地表達這個問題,如果不能,請在評論中告訴我。PS-請注意,這個問題與這里的其他一些問題不同。問題尤其出在函數內部使用的“return”命令。我剛剛意識到這一點。如果我使用 print(),它會按照我想要的方式工作(之前已在此平臺中詢問過。)但我想知道是否可以使用函數使其工作。因此,問題的縮小版本與返回命令有關。編輯:對我來說,使用函數解決問題至關重要,因為我需要將這個 '\mu_' 附加到數組中。打印它是不夠的。請看下面的代碼:def ten(n,r):    tiu = []    for i in range(1,n+1):        index = str(i)        u = 'u^' + '\mu_' + index        tiu.append(u)    return (tiu)在下一個單元格中我輸入:ten(4,1)給出輸出:['u^\\mu_1', 'u^\\mu_2', 'u^\\mu_3', 'u^\\mu_4']現在,如果我在函數中使用 2 個“\”,輸出不會發生任何變化。但如果我使用 3 個“\”,我會在輸出中得到 4 個“\”。
查看完整描述

4 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

這里沒有問題。您返回的字符串僅包含一個反斜杠;只有該字符串的字符串表示形式使用兩個反斜杠。比較


>>> r'\mu_'

'\\mu_'

>>> print(r'\mu_')

\mu_


查看完整回答
反對 回復 2023-10-06
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

當在 python 中打印列表時,該repr()方法在后臺調用。存儲的字符串是' \',它只是表示為' \\'。

如果您單獨打印每個元素,它將顯示literal value而不是represented value

print(ten(4, 1)[1])

輸出:

u^\mu_2


查看完整回答
反對 回復 2023-10-06
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

您還可以嘗試將其字符代碼傳遞給 chr

print(chr(92))



查看完整回答
反對 回復 2023-10-06
?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

使用:

a = r"\"

代替:

a = "\\"


查看完整回答
反對 回復 2023-10-06
  • 4 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號