日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python转义是什么意思_Python什么情况下会输出转义符

發(fā)布時間:2024/9/27 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python转义是什么意思_Python什么情况下会输出转义符 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

print '中國' #輸出:中國

print ['中國'] #輸出:['\xd6\xd0\xb9\xfa']

print {'中國':'中國'} #輸出: {'\xd6\xd0\xb9\xfa': '\xd6\xd0\xb9\xfa'}

請問一下為什么在list和dict打印出來是轉(zhuǎn)義字符?

可以認為一個是用的是str方法,目的是向終端顯示;一個用的repr方法,目的是把數(shù)據(jù)結(jié)構(gòu)和類型表達出來

這是 Python 2 特別討厭的一點,以至于我實在忍受不了寫了個 repl_py27 來繞過該問題。不過最終還是遷移到 Python 3 啦 =w=

Python 2 的世界是個 ASCII 的世界,unicode 是后來加的,所以使用 repr 顯示的時候是把所有非 ASCII 的字符轉(zhuǎn)義顯示的。你要直接把字符串寫出來的話,Python 2 就不會進行任何轉(zhuǎn)義了,于是在支持的終端上,中文就能正常顯示了。

注意 @socrates 說的是錯的。print 遇到非字符串時,會調(diào)用 str() 函數(shù)將對象轉(zhuǎn)成字符串再輸出:>>> class T(object):

... def __repr__(self):

... return ''

... def __str__(self):

... return ''

...

>>> print T()

而很多對象的 __str__ 方法是沒有定義的,于是 str() 函數(shù)改調(diào)用它的 __repr__ 方法。

又:Python 2 的字符串和 unicode 的 str() 輸出都是經(jīng)過轉(zhuǎn)義的。這也是我討厭 Python 2 的另一個重要原因:>>> u'中文'

u'\u4e2d\u6587'

>>> '中文'

'\xe4\xb8\xad\xe6\x96\x87'

玩蛇網(wǎng)文章,轉(zhuǎn)載請注明出處和文章網(wǎng)址:https://www.iplaypy.com/wenda/wd19803.html

相關(guān)文章 Recommend

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的python转义是什么意思_Python什么情况下会输出转义符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。