本章內(nèi)容
- type()
- cmp()
- str()和repr()
type()
type() 接受一個對象作為參數(shù),并返回它的類型。返回值是一個類型對象。
>>> type(4)
<type 'int'>
>>>
>>> type('zhangzhang')
<type 'str'>
>>>
>>> type(type(4))
<type 'type'>
>>>
- 通過內(nèi)建函數(shù)type() 得到一個整數(shù)和一個字符串的類型;
- type()的返回值再次調(diào)用type(),來確認(rèn)類型本身也是類型。
cmp()
內(nèi)建函數(shù) cmp() 用于比較兩個對象 obj1 和 obj2, 如果obj1 小于 obj2,則返回一個負(fù)整數(shù);如果obj1 大于 obj2,則返回一個正整數(shù);相等則返回0。
>>> a, b =-1,12
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b = -3
>>> cmp(a,b)
1
>>> a = -3
>>> cmp(a,b)
0
>>>
>>> a, b = 'abc', 'xyz'
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>>
>>> b = 'abc'
>>> cmp(a,b)
0
>>>
cmp()同比較操作符一樣,根據(jù)字符串的ASCII碼值進(jìn)行比較。
>>> str1 = 'A'
>>> str2 = 'a'
>>> str3 = 'b'
>>> cmp(str1,str2)
-1
>>> cmp(str3,str1)
1
>>> cmp(str2, 'a')
0
>>>
str()和repr()
內(nèi)建函數(shù)str() 和 repr() 或者反引號(``) 可以方便的以字符串的方式獲取對象的內(nèi)容、類型、數(shù)值屬性等信息。
str() 函數(shù)得到的字符串的可讀性好。
repr() 函數(shù)得到的字符串通??梢杂脕碇匦芦@得該對象。
>>> str(3430.22-2j)
'(3430.22-2j)'
>>>
>>> str(1)
'1'
>>> str(2e100)
'2e+100'
>>> str(2e10)
'20000000000.0'
>>>
>>> str([2,4,1,2])
'[2, 4, 1, 2]'
>>>
>>> repr([0,1,2,4])
'[0, 1, 2, 4]'
>>>
>>> `[2,2,1]`
'[2, 2, 1]'
- str(),repr()和 ··運算符功能相似,但repr()與`` 返回的是一個對象的“官方”字符串表示。
- str() 生成一個對象的可讀性好的字符串,返回的結(jié)果無法用其他的函數(shù)(eval()求值函數(shù));通常用于print語句輸出。
為什么有repr()還要使用``?
運算符和函數(shù)做同樣一件事,有些場合函數(shù)比運算符更適用。
例如:
雙星號(**)乘方運算==pow() 內(nèi)建函數(shù)
x ** y == pow(x, y) 都是x的y次方