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
|
r
=
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
循環。參數必須是普通整數。
|