L6 6 函式公升級

2022-08-30 19:39:09 字數 1960 閱讀 1483

上節課我們學習了函式的引數,學習了四種傳參方式,分別是位置引數、預設引數、可變引數和關鍵字引數。

#

在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身,這個函式就是遞迴函式。

def

foo(num):

print

(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)

print

(la)

print

(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 = 100

deffunc():

x = num + 100

print

(x)func()

#結果:200

num = 100

deffunc():

num = 200x = num + 100

print

(x)func()

#結果:300

注意使用函式時,變數名既有全域性變數也有區域性變數,則預設使用區域性變數。

global:在區域性宣告乙個名字是來自於全域性作用域的,可以用來在區域性修改全域性的不可變型別。

在函式中將某個變數定義為全域性變數時需要使用關鍵字global。

num = 100

deffunc():

global

num num = 200

print

(num)

func()

print

(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...