闲来无事,整理学习下python内置的一些方法。参考官网:https://docs.python.org/2/library/functions.html
- abs(x)
返回一个数的绝对值。可以是长整型,小数等等。
>>> abs(-9)
9
>>> abs(-0.9)
0.9
>>> abs(-9999L)
9999L
- all(iterable)
检测一个可迭代的对象中的值是否都为真。注意为空的时候也返回True。
def all(iterable):
for element in iterable:
if not element:
return False
return True
>>> a = [1, 2, 3]
>>> all(a)
True
>>> b = [1, 0, 3]
>>> all(b)
False
>>> c = []
>>> all(c)
True
any(iterable)
如果可迭代对象中有一个值为True,则返回True。否则返回空。如果是空的可迭代对象返回False。basestring()
str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))。bin(x)
返回一个整数 int 或者长整数 long int 的二进制表示。callable(object)
用来检测对象是否可被调用。
>>> callable(a)
False
>>> def test():
... pass
...
>>> callable(test)
True
>>> 1()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
类对象都是可被调用对象,类的实例对象是否可调用对象,取决于类是否定义了call方法。
>>> class A: #定义类A
pass
>>> callable(A) #类A是可调用对象
True
>>> a = A() #调用类A
>>> callable(a) #实例a不可调用
False
>>> a() #调用实例a失败
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
a()
TypeError: 'A' object is not callable
>>> class B: #定义类B
def __call__(self):
print('instances are callable now.')
>>> callable(B) #类B是可调用对象
True
>>> b = B() #调用类B
>>> callable(b) #实例b是可调用对象
True
>>> b() #调用实例b成功
instances are callable now.
- cmp(x, y)
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
>>> print "cmp(110, 100) : ", cmp(110, 100)
cmp(110, 100) : 1
>>> print "cmp(100, 100) : ", cmp(100, 100)
cmp(100, 100) : 0
>>> print "cmp(80, 100) : ", cmp(80, 100)
cmp(80, 100) : -1