python提供了很多的內置函數,這些內置的函數在某些情況下,可以起到很大的作用,而不需要專門去
寫函數實現XX功能,直接使用內置函數就可以實現,下面分別來學習內置函數的使用和案例代碼。
abs(),bytes(),chr(),ord(),eval(),compile(),dir(),help(),divmod(),isinstance(),filter(),map(),
globals(),max(),min(),sum(),type(),len(),range(),input(),tuple()
1、abs(),該內置函數的作用是絕對值,不管數字是負數還是正數,結果都是正數,見實現的代碼
截圖:
2、bytes(),把字符串轉為bytes,見設置一個原始字符串,轉為bytes,並且編碼是utf-8,下面來見
string與bytes之間的轉換方法,見代碼:
1
2
3
4
5
6
|
s
=
'python語言'
print
(
'未轉之前:'
,
type
(s))
a
=
bytes(s,encoding
=
'utf-8'
)
print
(
'字符串轉為bytes后:'
,a,
type
(a))
b
=
str
(a,encoding
=
'utf-8'
)
print
(
'bytes轉為字符串后:'
,b,
type
(b))
|
見執行后的結果,見截圖:
3、chr()把數字轉換為字母,見截圖:
4、ord()剛好與chr()相反,把字母轉換為數字,見截圖:
使用chr()與ord()可以實現隨機的驗證碼,見實現的代碼:
1
2
3
4
5
6
7
|
import
random
li
=
[]
for
i
in
range
(
6
):
r
=
random.randrange(
65
,
91
)
li.append(
chr
(r))
print
(''.join(li))
|
5、eval()字符串轉換成表達式並獲取結果,見實現的過程以及結果:
6、compile()是把字符串編譯成python代碼,再由函數eval(),exec()執行,見實現的過程以及代碼:
7、dir()可以快速的查看對象提供了那些方法,如查看列表的方法,見截圖:
8、help()顧名思義查看幫助,如查看列表的備幫助,見截圖:
9、divmod()是整除求余,如97除以10,整除是9,余數是7,見實現的結果:
10、isinstance()判斷對象是否是某個類的實例,見實現的代碼和實現的結果:
11、filter()函數是過濾,如從列表中過濾出xx來,見實現的代碼:
如上函數是過濾出列表中大於2的值,過濾后的列表li為3,4,5,6,7,8,9,10,使用filter實現的代碼為:
1
2
3
4
5
6
7
|
li
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
]
def
f1(a):
if
a>
2
:
return
True
res
=
filter
(f1,li)
print
(
list
(res))
|
結合匿名函數lambda函數后,實現的過程更加簡單,見實現的代碼:
1
2
3
4
|
li
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
]
res
=
filter
(
lambda
a:a>
2
,li)
print
(
list
(res))
|
12、map()函數可以實現迭代的增加,如有列表[0,1,2,3,4,5,6,7,8,9],都加10,實現的代碼為:
1
2
3
4
5
6
7
8
|
li
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
def
f1():
result
=
[]
for
i
in
li:
result.append(i
+
10
)
return
result
print
(f1())
|
使用map函數,實現的代碼為:
1
2
3
4
5
6
|
li
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
def
f1(a):
return
a
+
10
result
=
map
(f1,li)
print
(
list
(result))
|
結合lambda函數,實現的代碼更加精簡,見實現的代碼:
1
2
3
4
|
li
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
result
=
map
(
lambda
a:a
+
10
,li)
print
(
list
(result))
|
13、globals()代表所有的全局變量,locbals()代表所有的局部變量,見實現的代碼和實際輸出結果:
14、max()獲取最大值,min()獲取最小值,sum()獲取和,見執行的結果截圖:
15、type()查看類型,見結果:
16、len()方法
Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。
len()方法語法:
len( s )
參數:s -- 對象。
返回值:返回對象長度
以下實例展示了 len() 的使用方法:
str = "runoob" len(str) # 字符串長度 # 6 l = [1,2,3,4,5] len(l) # 列表元素個數 # 5
17、range()
python range() 函數可創建一個整數列表,一般用在 for 循環中。
函數語法
range(start, stop[, step])
參數說明:
- start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0, 5);
- stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
- step:步長,默認為1。例如:range(0, 5) 等價於 range(0, 5, 1)
實例
>>>range(10) # 從 0 開始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 從 1 開始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步長為 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步長為 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 負數 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
以下是 range 在 for 中的使用,循環出runoob 的每個字母:
>>>x = 'runoob' >>> for i in range(len(x)) : ... print(x[i]) ... r u n o o b >>>
18、input()
Python3.x 中 input() 函數接受一個標准輸入數據,返回為 string 類型。
Python2.x 中 input() 相等於 eval(raw_input(prompt)) ,用來獲取控制台的輸入。
raw_input() 將所有輸入作為字符串看待,返回字符串類型。而 input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的類型( int, float )。
注意:input() 和 raw_input() 這兩個函數均能接收 字符串 ,但 raw_input() 直接讀取控制台的輸入(任何類型的輸入它都可以接收)。而對於 input() ,它希望能夠讀取一個合法的 python 表達式,即你輸入字符串的時候必須使用引號將它括起來,否則它會引發一個 SyntaxError 。
除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與用戶交互。
注意:python3 里 input() 默認接收到的是 str 類型。
函數語法
input([prompt])
參數說明:
- prompt: 提示信息
實例
Python3.x: input()
>>>a = input("input:") input:123 # 輸入整數 >>> type(a) <class 'str'> # 字符串 >>> a = input("input:") input:runoob # 正確,字符串表達式 >>> type(a) <class 'str'> # 字符串