內建函式str()和repr() (representation,表達,表示)或反引號操作符(``)可以方便地以字串的方式獲取物件的內容、型別、數值屬性等資訊。
str()函式得到的字串可讀性好(故被print呼叫)
repr()函式得到的字串通常可以用來重新獲得該物件,通常情況下 obj==eval(repr(obj)) 這個等式是成立的。這兩個函式接受乙個物件作為其引數,返回適當的字串。
事實上repr()和``做一樣的事情,返回乙個物件的「官方」字串表示。其結果絕大多數情況下(不是所有)可以通過求值運算(內建函式eval())重新得到該物件。
str()則不同,它生成乙個物件的可讀性好的字串表示,結果通常無法用eval()求值,但適合print輸出。
如下例:?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>>
class
d(object):
... def __str__(self):
...
return
"a __str__"
... def __repr__(self):
...
return
"a __repr__"
...
>>> dr = d()
>>> print dr
a __str__
>>> dr
a __repr__
>>>
"%s"
% dr
'a __str__'
>>>
"%r"
% dr
'a __repr__'
為什麼有了repr()還需要``?
python中,有的操作符和函式是做同樣的事情,原因是某些場合下函式會比操作符更適合使用,比如函式物件可作為引數傳遞。雙星號(**)乘方運算和pow()內建函式都返回x的y次方.
內建函式 str
str 將資料強制轉型為字串。每種資料型別都可以強制轉型為字串。str 1 1 str 1,2,3,4 1,2,3,4 str types 對於簡單的資料型別比如整型,你可以預料到 str 的正常工作,因為幾乎每種語言都有乙個將整型轉化為字串的函式。然而 str 可以作用於任何資料型別的任何物件。這...
str 內建函式
字串查詢 find,index,rfind 右查詢 lfind 左查詢 find 查詢字串是否包含某個字串,返回第一次發現的位置,找不到時返回 1 index 與find幾乎相同,但是找不到值時,返回錯誤 判斷類的函式 此函式特點一般是is開頭 isalpha 判斷是否是字母,需要注意兩點,1 此函...
Python class內建函式 str
當我們定義乙個類 class field def init self,name self.name name field field liang print field main field instance at0x10c011d40 要怎麼樣才能輸出物件的實際內容呢,我們使用str函式 clas...