python內置函數記錄

一. 簡介 

 python內置了一系列的經常使用函數,以便於咱們使用,python英文官方文檔詳細說明:點擊查看, 爲了方便查看,將內置函數的總結記錄下來。html

 

二. 使用說明

   如下是Python3版本全部的內置函數:python

1. abs()  獲取絕對值shell

1
2
3
4
5
6
7
8
9
>>>  abs ( - 10 )
10
>>>  abs ( 10 )
10
>>>  abs ( 0 )
0
>>> a  =  - 10
>>> a.__abs__()
10

2. all()  接受一個迭代器,若是迭代器的全部元素都爲真,那麼返回True,不然返回False數據結構

1
2
3
4
5
6
7
8
9
>>> tmp_1  =  [ 'python' , 123 ]
>>>  all (tmp_1)
True
>>> tmp_2  =  []
>>>  all (tmp_2)
True
>>> tmp_3  =  [ 0 ]
>>>  all (tmp_3)
False

3. any()  接受一個迭代器,若是迭代器裏有一個元素爲真,那麼返回True,不然返回Falseapp

4. ascii()  調用對象的__repr__()方法,得到該方法的返回值.less

5. bin(), 6. oct(),  7. hex()    三個函數功能爲:將十進制數分別轉換爲2/8/16進制。ssh

8. bool()  測試一個對象是True仍是False.函數

9. bytes()  將一個字符串轉換成字節類型測試

1
2
3
4
5
6
7
8
>>> s  =  'python'
>>> x  =  bytes(s, encoding = 'utf-8' )
>>> x
b 'python'
>>> a  =  '王'
>>> s  =  bytes(a, encoding = 'utf-8' )
>>> s
b '\xe7\x8e\x8b'

10. str()  將字符類型/數值類型等轉換爲字符串類型ui

1
2
3
4
>>>  str (b '\xe7\x8e\x8b' , encoding = 'utf-8' )   # 字節轉換爲字符串
'王'
>>>  str ( 1 )    # 整數轉換爲字符串
'1'

11. challable()  判斷對象是否能夠被調用,能被調用的對象就是一個callables對象,好比函數和帶有__call__()的實例。

1
2
3
4
5
6
7
8
>>>  callable ( max )
True
>>>  callable ([ 1 2 3 ])
False
>>>  callable ( None )
False
>>>  callable ( 'str' )
False

12. char(),13. ord()  查看十進制數對應的ASCII字符/查看某個ASCII對應的十進制數。

1
2
3
4
5
6
7
8
9
10
11
>>>  chr ( - 1 )
Traceback (most recent call last):
   File  "<pyshell#26>" , line  1 in  <module>
     chr ( - 1 )
ValueError:  chr () arg  not  in  range ( 0x110000 )
>>>  chr ( 0 )
'\x00'
>>>  ord ( '\x00' )
0
>>>  ord ( '7' )
55

14. classmethod()  用來指定一個方法爲類的方法,由類直接調用執行,只有一個cls參數,執行雷的方法時,自動將調用該方法的類賦值給cls.沒有此參數指定的類的方法爲實例方法。

1
2
3
4
5
6
7
8
9
10
11
12
class  Province:
     country  =  "中國"
      
     def  __init__( self , name):
         self .name  =  name
      
     @classmethod
     def  show( cls ):   # 類方法,由類調用,最少要有一個參數cls,調用的時候這個參數不用傳值,自動將類名賦值給cls
         print ( cls )
      
# 調用方法
Province.show()

15. complie()  將字符串編譯成python能識別或能夠執行的代碼,也能夠將文字讀成字符串再編譯。

1
2
3
4
5
6
compile (source, filename, mode, flags = 0 , dont_inherit = False , optimize = - 1 )
將source編譯爲代碼或者AST對象。代碼對象能過經過 exec 語句來執行或者 eval ()進行求值。
參數source:字符串或者AST(abstract syntax trees)對象。
參數filename:代碼文件名稱,若是不是從文件讀取代碼則傳遞一些可辨認的值。
參數model:指定編譯代碼的種類。能夠指定 'exec' 'eval' 'single'
參數flag和dont_inherit:這兩個參數爲可選參數。
1
2
3
4
>>> s   =  "print('helloworld')"
>>> r  =  compile (s,  "<string>" "exec" )
>>> r
<code  object  <module> at  0x000001C648038390 file  "<string>" , line  1 >

16. complex()

1
2
3
建立一個值爲real  +  imag  *  j的複數或者轉化一個字符串或數爲複數。若是第一個參數是字符串,則不須要指定第二個參數。
參數real: int long float 或字符串。
參數imag: int long float

17. delattr()  刪除對象的屬性

具體查看:點擊我 python面向對象類的成員中屬性的詳細介紹

18. dict()  建立數據字典

1
2
3
4
5
6
7
8
9
>>> a  =  dict ()  空字典
>>> a
{}
>>> b  =  dict (one  =  1 , two  = 2 )
>>> b
{ 'one' 1 'two' 2 }
>>> c  =  dict ({ 'one' : 1  , 'two' : 2 })
>>> c
{ 'one' 1 'two' 2 }

19. dir()  不帶參數時返回當前範圍內的變量,方法和定義的類型列表,帶參數時返回參數的屬性,方法列表。

1
2
3
4
>>>  dir ()
[ '__builtins__' '__doc__' '__loader__' '__name__' '__package__' '__spec__' 'li' 'li1' 'li2' 'li_1' ]
>>>  dir ( list )
[ '__add__' '__class__' '__contains__' '__delattr__' '__delitem__' '__dir__' '__doc__' '__eq__' '__format__' '__ge__' '__getattribute__' '__getitem__' '__gt__' '__hash__' '__iadd__' '__imul__' '__init__' '__iter__' '__le__' '__len__' '__lt__' '__mul__' '__ne__' '__new__' '__reduce__' '__reduce_ex__' '__repr__' '__reversed__' '__rmul__' '__setattr__' '__setitem__' '__sizeof__' '__str__' '__subclasshook__' 'append' 'clear' 'copy' 'count' 'extend' 'index' 'insert' 'pop' 'remove' 'reverse' 'sort' ]

20. divmod()  分別取商和餘數

1
2
>>>  divmod ( 20 , 6 )
( 3 2 )

21. enumerate()  返回一個能夠枚舉的對象,該對象的next()方法將返回一個元組。

1
2
3
4
5
6
7
8
>>> test  =  [ 'a' 'b' 'c' ]
>>>  for  k,v  in  enumerate (test):
     print (k,v)
 
# 輸出結果:
0  a
1  b
2  c

22. eval()  將字符串str當成有效的表達式來求值並返回計算結果

1
2
3
4
5
>>> s  =  "1+2*3"
>>>  type (s)
< class  'str' >
>>>  eval (s)
7

23. exec()  執行字符串或complie方法編譯過的字符串,沒有返回值

24. filter()  過濾器,構造一個序列,等價於[ item for item in iterables if function(item)],在函數中設定過濾條件,逐一循環迭代器中的元素,將返回值爲True時的元素留下,造成一個filter類型數據。

1
2
3
4
5
6
7
filter (function, iterable)
參數function:返回值爲 True False 的函數,能夠爲 None
參數iterable:序列或可迭代對象。
>>>  def  bigerthan5(x):
...      return  x >  5
>>>  filter (bigerthan5, [ 3 4 5 6 7 8 ])
[ 6 7 8 ]

25. float()  講一個字符串或整數轉換爲浮點數。

1
2
3
4
5
6
7
8
9
10
11
>>>  float ()
0.0
>>>  float ( '123' )
123.0
>>>  float ( 1 )
1.0
>>>  float ( 'a' )
Traceback (most recent call last):
   File  "<pyshell#45>" , line  1 in  <module>
     float ( 'a' )
ValueError: could  not  convert string to  float 'a'

26. format()  格式化輸出字符串,format(value, format_spec)實質上是調用了value的__format__(format_spec)方法。

1
2
>>>  "I am {0}, I like {1}!" . format ( "wang" "moon" )    
'I am wang, I like moon!'

27. frozenset()  建立一個不可修改的集合。

1
2
3
4
frozenset ([iterable])
set frozenset 最本質的區別是前者是可變的,後者是不可變的。當集合對象會被改變時(例如刪除,添加元素),只能使用 set
通常來講使用fronzet的地方均可以使用 set
參數iterable:可迭代對象。 

28. getattr()  獲取對象的屬性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
getattr ( object , name [, defalut])
獲取對象 object 名爲name的特性,若是 object 不包含名爲name的特性,將會拋出AttributeError異常;若是不包含名爲name的特性
且提供default參數,將返回default。
參數 object :對象
參數name:對象的特性名
參數default:缺省返回值
>>> append  =  getattr ( list 'append' )
>>> append
<method  'append'  of  'list'  objects>
>>> mylist  =  [ 3 4 5 ]
>>> append(mylist,  6 )
>>> mylist
[ 3 4 5 6 ]
>>> method  =  getattr ( list 'add' )
Traceback (most recent call last):
   File  "<stdin>" , line  1 in  <module>
AttributeError:  type  object  'list'  has no attribute  'add'
>>> method  =  getattr ( list 'add' 'NoMethod' )
>>> method
'NoMethod'

29. globals()  返回一個描述當前全局變量的字典

1
2
3
>>> a  =  1
>>>  globals ()
{ '__loader__' : < class  '_frozen_importlib.BuiltinImporter' >,  'a' 1 '__builtins__' : <module  'builtins'  (built - in )>,  '__doc__' None '__name__' '__main__' '__package__' None '__spec__' None }

30. hasattr()

1
2
3
4
5
6
7
8
hasattr ( object ,name)
判斷對象 object 是否包含名爲name的特性( hasattr 是經過調用 getattr ( object ,name))是否拋出異常來實現的。
參數 object :對象
參數name:特性名稱
>>>  hasattr ( list 'append' )
True
>>>  hasattr ( list 'add' )
False

31. hash()  哈希值

1
2
3
hash ( object )
若是對象 object 爲哈希表類型,返回對象 object 的哈希值。哈希值爲整數,在字典查找中,哈希值用於快遞比價字典的鍵。
兩個數值若是相等,則哈希值也相等。

32. help()  返回對象的幫助文檔

1
調用內建的幫助系統,若是不包含參數,交互式幫助系統將在控制檯啓動。若是參數爲字串,則能夠是模塊,類,方法等名稱,而且幫助頁面將會在控制檯打印。參數也能夠爲任意對象

33. id()  返回對象的內存地址

1
2
3
>>> a  =  1
>>>  id (a)
1588522800

34. input()  獲取用戶輸入內容

1
2
3
4
5
num  =  input ( "請輸入一個數字:" )
# 用戶輸入3
print (num)
# 輸出結果
3

35. int()  將一個字符串或數值轉換爲一個普通整數

1
2
3
4
5
6
7
int ([x[,radix]])
若是參數是字符串,那麼它可能包含符號和小數點。參數radix表示轉換的基數(默認是 10 進制)。
它能夠是[ 2 , 36 ]範圍內的值,或者 0 。若是是 0 ,系統將根據字符串內容來解析。
若是提供了參數radix,但參數x並非一個字符串,將拋出TypeError異常;
不然,參數x必須是數值(普通整數,長整數,浮點數)。經過捨去小數點來轉換浮點數。
若是超出了普通整數的表示範圍,一個長整數被返回。
若是沒有提供參數,函數返回 0

36. isinstance()  檢查對象是不是類的對象,返回True或False

1
2
3
4
5
6
isinstance (obj,  cls )
檢查obj是不是類 cls 的對象, 返回 True  或  False
class  Foo( object ):
     pass
obj  =  Foo()
isinstance (obj, Foo)

37. issubclass()  檢查一個類是不是另外一個類的子類。返回True或False

1
2
3
4
5
6
7
8
9
10
issubclass (sub,  super )
檢查sub類是不是 super 類的派生類(子類)。返回 True  或  False
 
class  Foo( object ):
     pass
   
class  Bar(Foo):
     pass
   
issubclass (Bar, Foo) 

38. iter() 

iter (o[, sentinel])
返回一個iterator對象。該函數對於第一個參數的解析依賴於第二個參數。
若是沒有提供第二個參數,參數o必須是一個集合對象,支持遍歷功能(__iter__()方法)或支持序列功能(__getitem__()方法),
參數爲整數,從零開始。若是不支持這兩種功能,將處罰TypeError異常。
若是提供了第二個參數,參數o必須是一個可調用對象。在這種狀況下建立一個iterator對象,每次調用iterator的 next ()方法來無
參數的調用o,若是返回值等於參數sentinel,觸發StopIteration異常,不然將返回該值。

39. len()  返回對象長度,參數能夠是序列類型(字符串,元組或列表)或映射類型(如字典)

40. list()  列表構造函數。

1
2
3
4
list ([iterable])
list 的構造函數。參數iterable是可選的,它能夠是序列,支持編譯的容器對象,或iterator對象。
該函數建立一個元素值,順序與參數iterable一致的列表。若是參數iterable是一個列表,將建立
列表的一個拷貝並返回,就像語句iterables[:]。 

41. locals()  打印當前可用的局部變量的字典

不要修改 locals ()返回的字典中的內容;改變可能不會影響解析器對局部變量的使用。
在函數體內調用 locals (),返回的是自由變量。修改自由變量不會影響解析器對變量的使用。
不能在類區域內返回自由變量。

42. map()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
map (function, iterable,...)
對於參數iterable中的每一個元素都應用fuction函數,並將結果做爲列表返回。
若是有多個iterable參數,那麼fuction函數必須接收多個參數,這些iterable中相同索引處的元素將並行的做爲function函數的參數。
若是一個iterable中元素的個數比其餘少,那麼將用 None 來擴展改iterable使元素個數一致。
若是有多個iterable且function爲 None map ()將返回由元組組成的列表,每一個元組包含全部iterable中對應索引處值。
參數iterable必須是一個序列或任何可遍歷對象,函數返回的每每是一個列表( list )。
 
li  =  [ 1 , 2 , 3 ]
data  =  map ( lambda  x :x * 100 ,li)
print ( type (data))
data  =  list (data)
print (data)
 
運行結果:
 
< class  'map' >
[ 100 200 300 ]

43. max()  返回給定元素裏最大值

max (iterable [,args...][, key])
若是隻提供iterable參數,函數返回可遍歷對象(如:字符串,元組或列表)中最大的非空元素。
若是提供多個參數,那麼返回值最大的那個參數。
可選參數key是單參數的排序函數。
若是提供key參數,必須是以命名的形式,如: max (a, b, c, key =  fun)

44. meoryview()

45. min()  返回給定元素裏最小值

min (iterable [,args...][, key])
若是隻提供iterable參數,函數返回可遍歷對象(如:字符串,元組或列表)中最小的非空元素。
若是提供多個參數,那麼返回值最小的那個參數。
可選參數key是單參數的排序函數。
若是提供key參數,必須是以命名的形式,如: max (a, b, c, key =  fun)

46. next()  返回一個可迭代數據結構(如列表)中的下一項

47. object()

1
2
獲取一個新的,無特性(geatureless)對象。 Object 是全部類的基類。它提供的方法將在全部的類型實例中共享。
該函數時 2.2 .版本新增, 2.3 版本以後,該函數不接受任何參數。

48. open()  打開文件

open (filename [, mode [, bufsize]])
打開一個文件,返回一個 file 對象。 若是文件沒法打開,將處罰IOError異常。
應該使用 open ()來代替直接使用 file 類型的構造函數打開文件。
參數filename表示將要被打開的文件的路徑字符串;
參數mode表示打開的模式,最經常使用的模式有: 'r' 表示讀文本, 'w' 表示寫文本文件, 'a' 表示在文件中追加。
Mode的默認值是 'r'
當操做的是二進制文件時,只要在模式值上添加 'b' 。這樣提升了程序的可移植性。
可選參數bufsize定義了文件緩衝區的大小。 0 表示不緩衝; 1 表示行緩衝;任何其餘正數表示使用該大小的緩衝區;
負數表示使用系統默認緩衝區大小,對於tty設備它每每是行緩衝,而對於其餘文件每每徹底緩衝。若是參數值被省卻。
使用系統默認值。

49. pow()  冪函數

1
2
3
4
5
=  pow ( 2 10 )   # 2的10次方
print (r)
              
# 輸出
1024

50. print()  輸出函數

1
2
3
4
python2中的 print 語句被python3中的 print ()函數取代。
如何限制 print 的默認換行:
1.  python2版本下,在 print 輸出的最後加一個逗號 ','
2.  python3. 4 之後, print (value, ...,sep = ' ',end=' \n', file = sys.stdout,flush = False ),將end設爲空便可。

51. property()

52. range()  根據須要生成一個指定範圍的數字,能夠提供你須要的控制來迭代指定的次數

用於建立包含連續算術值的列表( list )。經常使用於 for 循環。參數必須是普通整數。
相關文章
相關標籤/搜索