深入理解str 和repr 的區別

2021-09-26 10:29:55 字數 887 閱讀 8828

str(object):將指定的值轉換為字串。用於轉換bytes時,可指定編碼和錯誤處理方式

repr(object):返回指定值的字串表示

print

(repr

("hello, \nworld!"))

# 'hello, \nworld!'

print

(str

("hello, \nworld!"))

# hello,

# world!

函式str()repr()都可以將python中的物件轉換為字串,它們的使用以及輸出都非常相似。但也存在不一致的情況。

import decimal

a = decimal.decimal(

1.25

)print

(str

(a),

repr

(a))

# 1.25 decimal('1.25')

from datetime import date

b = date.today(

)print

(str

(b),

repr

(b))

# 2019-05-22 datetime.date(2019, 5, 22)

這兩者之間到底有什麼區別呢?總結來說以下幾點:

```python

obj == eval(repr(obj))

```

但需要提醒的是,這個等式不是所有情況下都成立。

(最近更新:2023年05月16日)

str與repr的區別

python列印值的時候會保持該值在python 中的狀態,不是使用者所希望看到的狀態。而使用print列印值則不一樣,print列印出來的值是使用者所希望看到的狀態。例如 hello,world hello,world python列印出來的值是給python理解的,這裡python理解為字串,所...

python之repr 和str 的區別

repr repr object 返回乙個可以用來表示物件的可列印字串 首先,嘗試生成這樣乙個字串,將其傳給 eval 可重新生成同樣的物件 否則,生成用尖括號包住的字串,包含型別名和額外的資訊 比如位址 乙個類 class 可以通過 repr 成員來控制repr 函式作用在其實例上時的行為。str...

Python中str 和repr 函式的區別

在 python 中要將某一型別的變數或者常量轉換為字串物件通常有兩種方法,即 str 或者 repr 區別與使用 函式str 用於將值轉化為適於人閱讀的形式,而repr 轉化為供直譯器讀取的形式 如果沒有等價的語法,則會發生syntaxerror 異常 適合開發和除錯階段使用。number 123...