上節課我們學習了函式的引數,學習了四種傳參方式,分別是位置引數、預設引數、可變引數和關鍵字引數。
#在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身,這個函式就是遞迴函式。
deffoo(num):
(num)
if num==1:
return
foo(num-1)
print(num,"
*****==>")
foo(3)
#高階函式:乙個函式可以作為引數傳給另外乙個函式,
或者乙個函式的返回值為另外乙個函式(若返回值為該函式本身,則為遞迴),滿足其一則為高階函式。
1.變數可以指向函式,以內建函式abs為例,呼叫函式時將結果賦值給變數a=abs(-10)
print(a)
2.直接將函式本身賦值給變數a=abs
print(a(-10))
3.乙個函式可以接收另乙個函式作為引數,這種函式就是高階函式。
map函式:是python 內建的高階函式
#map()包含兩個引數,第乙個是引數是乙個函式,第二個是序列(列表或元組)。其中,函式(即map的第乙個引數位置的函式)可以接收乙個或多個引數。
案例1:
a=(1,2,3,4,5)b=[1,2,3,4,5]
c="rita
"la=map(str,a)
lb=map(str,b)
lc=map(str,c)
(la)
(lb)
print(lc)
案例2:
l = ['sky', '
tom', '
lukas']
defupper_first(s):
return s[0].upper() + s[1:].lower()
print(map(upper_first, l))
注:upper(),lower()作用
#upper()字串中字母由小寫變為大寫
#lower()字串中字母由大寫變為小寫
#作用域指的是範圍,值得就是作用的的範圍,分為以下兩種:全域性變數和區域性變數。
#全域性變數:一般在函式體外定義的變數
#區域性變數:在函式內部定義的變數
num = 100deffunc():
x = num + 100
(x)func()
#結果:200
num = 100deffunc():
num = 200x = num + 100
(x)func()
#結果:300
注意:使用函式時,變數名既有全域性變數也有區域性變數,則預設使用區域性變數。
global:在區域性宣告乙個名字是來自於全域性作用域的,可以用來在區域性修改全域性的不可變型別。
在函式中將某個變數定義為全域性變數時需要使用關鍵字global。
num = 100deffunc():
global
num num = 200
(num)
func()
(num)
#結果:
#200
#200
66 lambda 匿名函式
69個人體會 可以結合推導式,map,zip函式使用效果更佳 lambda表示式可以用來宣告匿名函式。lambda 函式是一種簡單的 在同一行中定義函式 的方法。lambda函式實際生成了乙個函式物件。lambda表示式只允許包含乙個表示式,不能包含複雜語句,該表示式的計算結果就是函式 的返回值。l...
python 66個內建函式
1.2.true true false 3.true true false4.1 2 我們 5.6.true false 7.abcde utf 8 print11 50print 8.9.12 310.9711.12.for in10 print exec exec 代表可執行 執行 13.14....
CentOS6 6原始碼編譯公升級GCC至4 8 2
原始碼編譯需要至少要有乙個可用的gcc編譯器。開始編譯gcc mkdir gcc build 4.8.2 cd gcc build 4.8.2 configure enable checking release enable languages c,c disable multilib make m...