我想我明白反斜槓,但我不明白這種行爲:爲什麼蟒蛇添加一個反斜槓到我
foo = '\t'
給出了相同的字符串(即\t
)當我在Python類型foo
口譯員,而
bar = '\i'
給出\\i
。發生了什麼?我只想要\i
,因爲我正在將它寫入一個.tex
文件,然後我正在編譯這個文件,而這似乎弄亂了LaTeX命令。
編輯:它實際上是沒有這一點,是搞亂了我的乳膠,如下顯示
我想我明白反斜槓,但我不明白這種行爲:爲什麼蟒蛇添加一個反斜槓到我
foo = '\t'
給出了相同的字符串(即\t
)當我在Python類型foo
口譯員,而
bar = '\i'
給出\\i
。發生了什麼?我只想要\i
,因爲我正在將它寫入一個.tex
文件,然後我正在編譯這個文件,而這似乎弄亂了LaTeX命令。
編輯:它實際上是沒有這一點,是搞亂了我的乳膠,如下顯示
"\t"
的答案是選項卡(一個字符),"\i"
包含字符,其中第一個轉義由__repr__
。
In [51]: len("\t")
Out[51]: 1
In [52]: len("\i")
Out[52]: 2
編輯:如果你寫一個文件,你的輸出將被罰款。
with open("o.tex", "w") as o:
o.write(">>>\t|\i|\t<<<\n")
的o.tex
內容屆時將
>>> |\i| <<<
你可以看到兩個選項卡\t
爲空白,而所有其他字符原樣。
這是有道理的。如果寫入文件對象,是否使用了__repr__?或__str__表示(如實際問題的評論中所述) – funklute 2015-02-12 08:03:59
給出?你打印?怎麼樣? – 2015-02-12 07:58:08
好點,我的意思是當我在解釋器中鍵入變量(所以我想打電話打印) – funklute 2015-02-12 08:00:58
@funklute它不完全是「打印」。 'print'給出對象的__str__'表示,直接輸入變量給出'__repr__'。 – 2015-02-12 08:01:46