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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python---str和repr

發(fā)布時間:2024/7/19 python 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python---str和repr 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在 Python 中要將某一類型的變量或者常量轉(zhuǎn)換為字符串對象通常有兩種方法,即 str() 或者 repr() 。

區(qū)別與使用

函數(shù)str() 用于將值轉(zhuǎn)化為適于人閱讀的形式,而repr() 轉(zhuǎn)化為供解釋器讀取的形式(如果沒有等價的語法,則會發(fā)生SyntaxError 異常), 適合開發(fā)和調(diào)試階段使用。?

1 2 3 4 5 6 7 8 9 >>>?number?=?123456789 >>>?type(str(number)) <class?'str'> >>>?type(repr(number)) <class?'str'> >>>?print(repr(number)) 123456789 >>>?print(str(number)) 123456789

兩個函數(shù)返回的類型是相同的,值也是相同的。

1 2 3 4 >>>?print(str('123456789')) 123456789 >>>?print(repr('123456789')) '123456789'

但當(dāng)我們把一個字符串傳給 str() 函數(shù)再打印到終端的時候,輸出的字符不帶引號。而將一個字符串傳給 repr() 函數(shù)再打印到終端的時候,輸出的字符帶有引號。

造成這兩種輸出形式不同的原因在于:

print 語句結(jié)合 str() 函數(shù)實際上是調(diào)用了對象的 __str__ 方法來輸出結(jié)果。而 print 結(jié)合 repr() 實際上是調(diào)用對象的 __repr__ 方法輸出結(jié)果。下例中我們用 str 對象直接調(diào)用這兩個方法,輸出結(jié)果的形式與前一個例子保持一致。

1 2 3 4 >>>?print('123456789'.__repr__()) '123456789' >>>?print('123456789'.__str__()) 123456789

不同數(shù)據(jù)類型的不同處理

某對象沒有適于人閱讀的解釋形式的話, str() 會返回與repr()等同的值。很多類型,諸如數(shù)值或鏈表、字典這樣的結(jié)構(gòu),針對各函數(shù)都有著統(tǒng)一的處理方式。

代碼實例:

1 2 3 4 5 6 >>>?listA?=?[1,2,3] >>>?str(listA) '[1,?2,?3]' >>>?repr(listA) '[1,?2,?3]' >>>

結(jié)果是相同的。

?

而字符串和浮點數(shù),它們的處理方式不同。

注意:Python3和Python2版本str函數(shù)處理浮點數(shù)時是不同的,Python3版本下,str和repr會返回相同的結(jié)果,Python2下則不會, 具體看下面的例子:

Python3版本:

1 2 3 4 5 6 7 8 9 >>>?string?=?'Hello,?PythonTab.com' >>>?str(string) 'Hello,?PythonTab.com' >>>?repr(string) "'Hello,?PythonTab.com'" >>>?str(1.0/7.0) '0.14285714285714285' >>>?repr(1.0/7.0) '0.14285714285714285'

?

Python2版本:

1 2 3 4 >>>?str(1.0/7.0) '0.142857142857' >>>?repr(1.0/7.0) '0.14285714285714285'

轉(zhuǎn)載于:https://www.cnblogs.com/Kingfan1993/p/9636602.html

總結(jié)

以上是生活随笔為你收集整理的python---str和repr的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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