本章内容
- type()
- cmp()
- str()和repr()
type()
type() 接受一个对象作为参数,并返回它的类型。返回值是一个类型对象。
>>> type(4)
<type 'int'>
>>>
>>> type('zhangzhang')
<type 'str'>
>>>
>>> type(type(4))
<type 'type'>
>>>
- 通过內建函数type() 得到一个整数和一个字符串的类型;
- type()的返回值再次调用type(),来确认类型本身也是类型。
cmp()
內建函数 cmp() 用于比较两个对象 obj1 和 obj2, 如果obj1 小于 obj2,则返回一个负整数;如果obj1 大于 obj2,则返回一个正整数;相等则返回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()同比较操作符一样,根据字符串的ASCII码值进行比较。
>>> str1 = 'A'
>>> str2 = 'a'
>>> str3 = 'b'
>>> cmp(str1,str2)
-1
>>> cmp(str3,str1)
1
>>> cmp(str2, 'a')
0
>>>
str()和repr()
內建函数str() 和 repr() 或者反引号(``) 可以方便的以字符串的方式获取对象的内容、类型、数值属性等信息。
str() 函数得到的字符串的可读性好。
repr() 函数得到的字符串通常可以用来重新获得该对象。
>>> 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() 生成一个对象的可读性好的字符串,返回的结果无法用其他的函数(eval()求值函数);通常用于print语句输出。
为什么有repr()还要使用``?
运算符和函数做同样一件事,有些场合函数比运算符更适用。
例如:
双星号(**)乘方运算==pow() 內建函数
x ** y == pow(x, y) 都是x的y次方