2
我有一個簡單的問題在這裏:爲什麼轉義字符變成像python中的 x0這樣的字符串?
mylist=[1,2,3]
mylist.insert(0, '\0')
print(mylist)
給我們:
['\x00', 1, 2, 3]
換句話說,爲什麼和轉義字符\
是如何變成\x0
?
這裏有一些目的嗎?這是一些編碼的東西?
爲什麼python返回一個表示而不是另一個表示?
我有一個簡單的問題在這裏:爲什麼轉義字符變成像python中的 x0這樣的字符串?
mylist=[1,2,3]
mylist.insert(0, '\0')
print(mylist)
給我們:
['\x00', 1, 2, 3]
換句話說,爲什麼和轉義字符\
是如何變成\x0
?
這裏有一些目的嗎?這是一些編碼的東西?
爲什麼python返回一個表示而不是另一個表示?
所以\<various single characters>
有特殊含義,\xYY
是一個字符,它是十六進制值YY
。下面的(和其他人)是等價的:
>>> assert '\0' == '\x00' # null
>>> assert '\t' == '\x09' # tab
>>> assert '\r' == '\x0d' # carriage return
>>> assert '\n' == '\x0a' # line feed
這是因爲標籤編碼爲9等,而在一般情況下,Python會告訴你最普遍的代表性,這是一個字符的十六進制值,如果它不能顯示你的角色本身。
'\ 0'和'\ x00'只是兩個不同的同樣的事情表示:一個零字節。 'representation'您的意思是 –
,人類可讀的打印輸出?或者是其他東西?爲什麼同樣的事情有兩種不同的表述? DRY不是所有編程和設計水平的基本單位? –
DRY與它完全無關。而且總是有很多想法的表示,人類可讀或不可讀。就你的情況而言,yu的八進制和十六進制表示爲0. –