python面試基礎題目之函式式程式設計

2021-10-03 04:02:02 字數 2107 閱讀 9233

知識擴充套件:

答:匿名函式 lambda ,(表示式: 函式名 = lambda 引數 :返回值 引數可以有多個,用逗號隔開) 通常用在函式體比較簡單的函式上。匿名和函式,不用擔心函式名衝突。不過python對匿名函式的支援有限,只有一些簡單的情況下可以使用匿名函式。

def

add(x,y)

:return x+y

print

(add(4,

10))#用匿名函式替代

temp =

lambda x , y :x+y

print

(temp(4,

10))

答:filter()根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件的元素組成的新的list。

list0 =[1

,4,6

,7,9

,12,17

]def

is_odd

(num)

:return num %2==

1list1 =

list

(filter

(is_odd,list0)

print

(list1)

#[1,7,9,17]

答:map()根據函式對制定序列做對映。map()函式接收兩個引數,乙個是函式,乙個是可迭代物件,並把結果作為新的list返回 返回值:python2 是返回列表 python3 是返回迭代器。

list1 =[1

,2,3

,4,5

]def

mul(num)

:return num*num

result =

list

(map

(mul,list1)

print

(result)

#[1,4,16,25]

答:reduce()函式會對引數序列中元素進行累積。

#函式將乙個資料集合(鍊錶、元組等)中的所有資料進行下列操作

from functools import

reduce

defadd

(num1,num2)

:return num1 + num2

print

(reduce

(add,[1

,2,3

,4,5

]))#15

print

(reduce

(lambda num1,num2: num1+num2.[1

,2,3

,4,5

]))#15

print

(reduce

(add,

range(1

,101

)#5050

#1假設是執行沒有帶引數的方法:

defsay()

:print

('say in'

)print

((say)

)# 'say in '

#2 函式帶關鍵字引數

defsay

(a=1

,b=2):

print a,b

defsay_number

(**kw)

:#say(kw)

(say,()

,kw)

print haha(a=

'a',b=

'b')

# a ,b

#3 函式只帶元組的引數

defsay

(a,b)

:print a, b

(say,

("hi"

,"您好"))

# hi,您好

答:abs() 函式返回數字的絕對值

result =

map(

abs,[-

1,2,

-3,-

4])print

(list

(result)

)#[1,2,3,4]

python之函式基礎

python 函式 python函式可以返回多值 defadd dif x,y,sum x y dif x y return sum,dif a,b add dif 2,3 print a,b 5 1 r add dif 2,3 print r 5,1 本質來說返回多值的函式其實返回乙個元組tupl...

Python基礎之函式

不同型別的引數的優先順序 在引數列表中的順序 def testfunc1 pass這是乙個最簡單的函式,沒有引數,沒有返回,pass表示該函式沒有做任何操作,testfunc1是函式名,def是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...

Python之函式(基礎)

1.函式的定義 1 函式的定義與呼叫 定義函式 def say hello print hello1 print hello2 print hello3 呼叫函式,函式只有被呼叫了才會有輸出值 示例1 定義求和函式 計算 20 30 2 函式的巢狀 def fun1 print world def ...