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

歡迎訪問 生活随笔!

生活随笔

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

python

python---str和repr

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

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

區別與使用

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

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

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

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

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

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

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

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

不同數據類型的不同處理

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

代碼實例:

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

結果是相同的。

?

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

注意:Python3和Python2版本str函數處理浮點數時是不同的,Python3版本下,str和repr會返回相同的結果,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'

轉載于:https://www.cnblogs.com/Kingfan1993/p/9636602.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。