Python 7天快速入門完整視頻教程:https://www.bilibili.com/video/BV1o84y1Z7J1
Python 函數(shù)的參數(shù)
函數(shù)形參部分,可以不定義參數(shù),直接空括號即可。假如有多個(gè)參數(shù),逗號隔開。
我們調(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)
參數(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")