1. 程式人生 > >python 內建方法(1)

python 內建方法(1)

python內建方法

  • 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