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

歡迎訪問 生活随笔!

生活随笔

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

python

python中str和repr_python中str()和repr()函数的区别

發布時間:2025/3/20 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中str和repr_python中str()和repr()函数的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 有辦法將任意值轉為字符串:將它傳入repr() 或str() 函數。

函數str() 用于將值轉化為適于人閱讀的形式,而repr() 轉化為供解釋器讀取的形式。

對于數值類型、列表類型,str和repr方法的處理是一致;而對于字符串類型,str和repr方法處理方式不一樣。

repr()函數得到的字符串通常可以用來重新獲得該對象,repr()的輸入對python比較友好,適合開發和調試階段使用。通常情況下obj==eval(repr(obj))這個等式是成立的。

而str()函數沒有這個功能,str()函數適合print()輸出

1 >>> obj = 'I love Python'

2 >>> obj==eval(repr(obj))3 True4 >>> obj ==eval(str(obj))5 Traceback (most recent call last):6 File "", line 1, in

7 File "", line 1

8 I love Python9 ^

10 SyntaxError: invalid syntax

repr()函數(python3中):

1 >>> repr([0,1,2,3])2 '[0, 1, 2, 3]'

3 >>> repr('Hello')4 "'Hello'"

5

6 >>> str(1.0/7.0)7 '0.14285714285714285'

8 >>> repr(1.0/7.0)9 '0.14285714285714285'

對比:

1 >>> repr('hello')2 "'hello'"

3 >>> str('hello')4 'hello'

對于一般情況:

1 >>> a=test()2 >>>a3 <__main__.test object at>

4 >>> print(a)5 <__main__.test object at>

6 >>>

不管我們是輸入對象還是print(對象),返回的都是對象的內存地址

對于方法__str__:

1 >>> classtest():2 def __str__(self):3 return "你好"

4

5

6 >>> a=test()7 >>>a8 <__main__.test object at>

9 >>> print(a)10 你好11 >>>

如果我們在終端中輸入對象,會返回對象的內存地址,使用print則會自動調用方法__str__

對于方法__repr__:

1 >>> classtest():2 def __repr__(self):3 return "你好"

4

5 >>> a=test()6 >>>a7 你好8 >>> print(a)9 你好10 >>>

如果我們在終端中輸入對象,使用print都會自動調用方法__repr__

通常,程序員會在開發時,使用__repr__來返回一些關鍵性的信息便于調試。

總結

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

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