python中函式與函數語言程式設計(二)
阿新 • • 發佈:2018-11-23
首先要明白為什麼要用到返回值,返回值的作用就是為了分情況來處理下面的程式(個人見解總結)
1.函式返回值
def test1():
pass
def test2():
return 0
def test3():
return 0,10,'hello',['a','c'],{'nihao':'hah'}
t1 = test1()
t2 = test2()
t3 = test3()
print(t1)
print(t2)
print(t3)
返回值總結:
(1)返回值個數為0,返回none
(2)返回值個數為1,返回object
(3)返回值個數>1,返回元組(tuple)
2.函式呼叫
test( )執行,()表示呼叫函式test,()內可以有引數也可以沒有
實參和形參:
位置引數和關鍵字(標準呼叫:實參和形參位置一一對應,關鍵字呼叫:位置無需固定)
ps:即使想使用關鍵字和位置引數的時候,也要關鍵字一定要在位置引數的後面!!
3.預設引數
# 預設引數
def test(x,y=2):
print(x)
print(y)
# test(1) 預設輸出1,2 預設引數非必須傳遞 用途:可以固定某些數值
test(1,3)
4.引數組
引數組的這部分主要是記住 * 和 ** 的用法, 表示接收不同的長度的關鍵字,並轉換成元組,** 表示接收關鍵字並轉換成字典,詳細的用法見下*
(1)* 的用法
# 引數組
def test(*yanfeixu):
print(yanfeixu)
test(1,2,3,4,5) # *表示可以接收不定長度的引數組,並轉換成元組
def test1(x,*yanfeixu):
print(x)
print(yanfeixu)
test1(1,2,12,32)
(2)** 的用法
def test2(**yanfeixu): # **接收關鍵字並裝換成字典 print(yanfeixu) test2(name="zhangsan",age=121) def test3(sex,**yanfeixu): print(sex) print(yanfeixu) test3('male',name="zhangsan",age=121)
小福利:高階函式
變數可以指向函式,函式的引數能接收變數,那麼一個函式就可以接收另一個函式作為引數,這種函式就稱之為高階函式。
9