1. 程式人生 > >python中函式與函數語言程式設計(二)

python中函式與函數語言程式設計(二)

首先要明白為什麼要用到返回值,返回值的作用就是為了分情況來處理下面的程式(個人見解總結)

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