Python系列-python內置函數

abs(x)

返回數字的絕對值,參數可以是整數、也可以是浮點數。如果是複數,則返回它的大小

all(iterable)

對參數中的所有元素進行迭代,如果所有的元素都是True,則返回True,函數等價於
[python] view plain copy
  1. def any(iterable):  
  2.     for element in iterable:  
  3.         if element:  
  4.             return True  
  5.     return False  

any(iterable)

對參數中的所有元素進行迭代判斷,只要一個元素爲真,函數返回True。函數等價於
[python] view plain copy
  1. def any(iterable):  
  2.     for element in iterable:  
  3.         if element:  
  4.             return True  
  5.     return False  

assert

斷言, 該函數屬於一個單元運算的表達式。類似於lambda。但功能與 if...not類似。如果你能確定你的表達式一定爲真可以使用。如果表達式爲假則返回一個 AssertionError 錯誤
程序立即中斷
[python] view plain copy
  1. a = 1  
  2. assert a >= 1"Error value"  
  3. print("OK")  
  4. 結果:  
  5. OK  
[python] view plain copy
  1. a = 1  
  2. assert a >= 2"錯啦!"  
  3. print("OK")  
  4. 結果:  
  5. AssertionError: 錯啦!     print()函數不會執行  

bin(x)

將一個十進制數轉換爲一個二進制字符串.

bool([x])

對列表[x]中的所有值進行bool判斷,當列表中所有的元素都爲True時則返回True,否則返回False,能返回False的值類型有:‘’,None,0,(),[],{}。與all()函數類似

[python] view plain copy
  1. print(bool(['a',1,2.4]))  # True  
  2. print(bool(None))  # False  
  3. print(bool(()))  # False  
  4. print(bool([]))  # False  
  5. print(bool({}))  # False  
  6. print(bool(''))  # False  
  7. print(bool(0))   # False  

callable(object)

檢查對象object是否可調用,可以被調用返回True,否則返回False:1、函數、類是可以被調用的;2、實例是不可以被調用的,除非類中聲明瞭__call__方法
[python] view plain copy
  1. def func1():  
  2.     print('a')  
  3. a = '123'  
  4. print(callable(a))  # False  
  5. print(callable(func1))  # True  

divmod(x,y)

返回x/y的商和餘數,結果爲元組類型
[python] view plain copy
  1. print(divmod(5,3))  # (1, 2)  

ord(c)

返回字符c的ASCII碼,x爲字符,返回數字型
[python] view plain copy
  1. print(ord('a'))  # 97  

chr(x)

返回ASCII碼x對應的字符, x 爲整型,返回字符
[python] view plain copy
  1. print(chr(97))   # 'a'  

classmethod(function)

在定義的類中爲函數返回一個類方法,主要功能:1、註解,用來說明這個方式是個類方法;2、類方法即可被類調用,也可以被實例調用;3、類方法類似於Java中的static方法;4、類方法中不需要有self參數

 enumerate(iterable, start=0)

 返回一個可枚舉的對象。該對象的next()方法將返回一個tuple.start爲開始的序號默認從0開始。或者也可以通過list 或 tuple來轉換

[python] view plain copy
  1. print(list(enumerate(('aa','bb','cc'),start=2)))  

等價於

[python] view plain copy
  1. def enumerate(sequence, start=0):  
  2.     n = start  
  3.     for elem in sequence:  
  4.         yield n, elem  
  5.         n += 1  

eval(expression)

計算表達式expression的值

lambda

lambda並不是python的內置函數,而是一個函數表達式
[python] view plain copy
  1. f_lam = lambda x: x * 2  
  2. print(f_lam(10))  # 20  

map(function, iterable, ...)

將傳入的列表中的每個值進行一次函數運算,python3.x中返回的爲 <map object at 0x006AFA30>對象,要獲取值需要用list 或 tuple轉換
[python] view plain copy
  1. li = (1234)  
  2. f_map = map(lambda x: x + 3, li)  
  3. print(f_map)          # python2.x結果[4, 5, 6, 7]  
  4. print(list(f_map))    # python3.x結果[4, 5, 6, 7]  

max(iterable, *[, key, default])

對一個列表或元素的數據進行迭代,返回最大值.可以通過制定函數來判斷
[python] view plain copy
  1. def func(i):  
  2.     t = divmod(i,3)  
  3.     return t[1]  
  4.   
  5. li = (1,5,3,2,9,19,24)  
  6. print(max(li))             # 24  
  7. print(max(li,key=func))    # 5 對li中的數據進行取模後的最大值  

max(iterable, *[, key, default])

與max()類似,取最小值

sorted(iterable[, key][, reverse])

對參數中的元素進行排序,默認從小到大排序。可以指定排序計算方法key=function,是否倒序排列reverse=True

[python] view plain copy
  1. def func(i):  
  2.     t = divmod(i,3)  
  3.     return t[1]  
  4.   
  5. li = (1,5,3,2,9,19,24)  
  6. print(sorted(li))  
  7. # [1, 2, 3, 5, 9, 19, 24]  
  8. print(sorted(li,reverse=True))  
  9. # [24, 19, 9, 5, 3, 2, 1]  
  10. print(sorted(li,key=func))  
  11. # [3, 9, 24, 1, 19, 5, 2]  
  12. print(sorted(li,key=func,reverse=True))  
  13. # [5, 2, 1, 19, 3, 9, 24]  

filter(function, iterable)

和map的執行方式一樣,對於一個迭代器iterable的元素進行function計算,將計算的結果進行過濾,符合表達式結果的才返回.在python3.x中返回的結果爲<filter object at 0x021CA610>對象,要獲取值需要用list 或 tuple轉換。
[python] view plain copy
  1. f_filter = filter(lambda x: x > 30, map(lambda y: y * 10, li))  
  2. print(f_filter)         # python2.x結果[40]  
  3. print(list(f_filter))   # python3.x結果[40]  

zip(*iterables)

將兩個元組或列表的值進行合併成一個新的列表.
[python] view plain copy
  1. a = (123)  
  2. y = [6,7,8]  
  3. # print(zip(a, y))  # [(1, 6), (2, 7), (3, 8)]  

isinstance

isinstance(obj,obj2)  返回obj對象是不是由obj2創建的,或者 obj對象是 obj2 對象的基類創建的
[python] view plain copy
  1. a = 1  
  2. print(isinstance(a,int)) # True  
  3. class A(object):  
  4.     pass  
  5.   
  6. class B(A):  
  7.     pass  
  8.   
  9. b = B()  
  10. print(isinstance(b, B))  # True  
  11. print(isinstance(b, A))  # True  

issubclass

issubclass(C,B)  判斷類C是不是類B的子類
[python] view plain copy
  1. class A(object):  
  2.     pass  
  3.   
  4. class B(A):  
  5.     pass  
  6.   
  7. print(issubclass(B,A))  
  8. print(issubclass(A,object))  
發佈了35 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章