python str()、repr()、asiic()
!s:str(),返回對象的字符串表示形式,如果字符串是已編碼,返回的是解碼後的字符串。轉換過後的字符串最外層不帶引號,如 abc
!r:repr(),返回對象的規範字符串表示形式。轉換過後的字符串最外層帶引號,如 'abc'
注意:對於許多對象類型,包括大多數內建,eval(repr(obj)) == obj
!a:ascii(),返回對象的純 ascii 表示形式,但要使用\\x、\\u或\\U轉義轉義所返回字符串中的非 ascii 字符。
示例:
str_ = "12aA中國"
a = ascii(str_) # '12aA\u4e2d\u56fd'
b = repr(str_) # '12aA中國'
c = str('\u56fd') # 國
d = repr('\u56fd') # '國'
e = eval(b) # 12aA中國
t = "repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2')
print(t) # repr() shows quotes: 'test1'; str() doesn't: test2
t2 = "repr() shows quotes: {0!r}; str() doesn't: {1!s}".format('test1', 'test2')
print(t2) # repr() shows quotes: 'test1'; str() doesn't: test2
str(str_) == str_ # True
repr(str_) == str_ # False
len(str(str_)) # 6
len(repr(str_)) # 8