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)
本質來說返回多值的函式其實返回乙個元組tuple
遞迴函式用法
def
f(n):
if n==1:
return
1else:
return n * f(n - 1)
簡單來說,遞迴的最終依賴於第乙個基數,所以在遞迴函式裡處理第乙個集元素是非常必要的(個人理解)。
python中函式的預設引數
>>>
deff
(a,n=2):
print a**n
>>> f(2)
4>>> f(2,4)
16>>>
n是乙個預設引數,如果船引數是沒有傳將預設為2,如果傳入了n的值,傳進去的值將覆蓋預設引數。
預設引數要放到所有所有傳參的後面。
python中可變引數
>>>
deffadd
(*args):
sum=0
if len(args)==0:
return sum
for x in args:
sum=sum+x
return sum
>>> s=fadd(1,2,3)
>>>
print s
6
這裡乙個最大的秘訣是這個 『*』號,他代表傳入的引數是不固定的。
其實相當於傳入的是乙個元組tuple。
高階函式
基本概念:變數可以指向函式
>>> f=abs #f指向了abs函式
>>> f(-20)
20>>>
高階函式
>>>
defadd_abs
(x, y, f):
return f(x)+f(y)
>>> add_abs(2,-3,abs)
5>>>
將f引數指向了abs,即變數傳參傳的是乙個函式
python 中一些內建的函式
map函式:
內建高階函式,傳遞的 第乙個引數是函式,第二個是列表,函式對列表中的每乙個元素進行操作,返回新的列表
>>> map(abs,[1,-1,2,-2])
[1, 1, 2, 2]
sorted排序函式
>>> sorted([2,3,5,8,4,6,3])
[2, 3, 3, 4, 5, 6, 8]
這是乙個簡單的用法,他還可以自己寫排序函式傳入sorted實現自定義排序函式。 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 ...
python基礎之函式
在任何一門程式語言中,函式都是非常重要的乙個部分,當然python裡也不例外。不過python裡函式也會有一些額外的擴充,比如巢狀函式,閉包和現在很多程式設計 語言都有的lambda表示式。先來看一下python裡正常函式的樣子 a 1def func num print num a 函式裡可以直接...