Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python 函數(shù)的參數(shù)
匿名網(wǎng)友發(fā)布于:2023-09-11 15:20:58
(侵權(quán)舉報(bào))

Python 7天快速入門完整視頻教程https://www.bilibili.com/video/BV1o84y1Z7J1

 

Python    函數(shù)的參數(shù)

 

 

函數(shù)形參部分,可以不定義參數(shù),直接空括號(hào)即可。假如有多個(gè)參數(shù),逗號(hào)隔開。

我們調(diào)用的時(shí)候,傳入的就是實(shí)際參數(shù),按照形參定義,順序傳入即可。

我們看下面這個(gè)實(shí)例:

 

# 定義加方法函數(shù)
def add(x, y):
    result = x + y
    print(f"{x}+{y}={result}")


# 調(diào)用函數(shù)
add(1, 2)
add(2, 3)
add(3, 4)

 

運(yùn)行結(jié)果:

 

1+2=3
2+3=5
3+4=7

 

作業(yè):定義一個(gè)三個(gè)參數(shù)的加法函數(shù)。調(diào)用3次。

 

關(guān)鍵字(keyword)參數(shù)

 

前面實(shí)例,是位置參數(shù),調(diào)用的時(shí)候,必須嚴(yán)格按照定義函數(shù)時(shí)指定的順序來傳入?yún)?shù)值。

如果根據(jù)參數(shù)名來傳入?yún)?shù)值,則無需遵守定義形參的順序,這種方式被稱為關(guān)鍵字(keyword)參數(shù)。

注意點(diǎn):

在使用關(guān)鍵字參數(shù)的時(shí)候,順序可以隨便換

部分使用關(guān)鍵字參數(shù),部分使用位置參數(shù)

混用的時(shí)候,關(guān)鍵字參數(shù)必須位于位置參數(shù)之后,否則報(bào)錯(cuò)

 

# 根據(jù)關(guān)鍵字參數(shù)來傳入?yún)?shù)值
add(x=1, y=2)

# 在使用關(guān)鍵字參數(shù)的時(shí)候,順序可以隨便換
add(y=2, x=1)

# 部分使用關(guān)鍵字參數(shù),部分使用位置參數(shù)
add(1, y=2)

# 混用的時(shí)候,關(guān)鍵字參數(shù)必須位于位置參數(shù)之后,否則報(bào)錯(cuò)
add(x=1, 2)

 

 

Python    函數(shù)的參數(shù)  圖1

 

參數(shù)默認(rèn)值

 

 

在某些情況下,程序需要在定義函數(shù)時(shí)為一個(gè)或多個(gè)形參指定默認(rèn)值——這樣在調(diào)用函數(shù)時(shí)就可以省略為該形參傳入?yún)?shù)值,而是直接使用該形參的默認(rèn)值。

語法格式:

形參名=默認(rèn)值

案例:

 

def say_hi(name="鋒哥", msg="歡迎來python222學(xué)Python"):
    print(f"{name}說:{msg}")


say_hi()

 

運(yùn)行輸出結(jié)果:

 

鋒哥說:歡迎來python222學(xué)Python

 

一些使用注意點(diǎn):

可以全部使用默認(rèn)參數(shù)

可以部分使用默認(rèn)參數(shù)

可以全部不使用默認(rèn)參數(shù)

假如前面參數(shù)使用默認(rèn)參數(shù),后面的參數(shù)需要使用關(guān)鍵字參數(shù)

Python要求將帶有默認(rèn)值的參數(shù)定義,放在形參列表的最后。

 

# 全部使用默認(rèn)參數(shù)
say_hi()

# msg使用默認(rèn)值
say_hi("小王")

# 兩個(gè)參數(shù)都不使用默認(rèn)值
say_hi("李四", "我去java1234學(xué)Java")

# name使用默認(rèn)值,msg需要使用關(guān)鍵字參數(shù)
say_hi(msg="也喜歡java")

 

 

Python    函數(shù)的參數(shù)  圖1

 

 

 

轉(zhuǎn)載自: