實際引數傳遞給形式引數的操作方式,就是引數的操作
實際引數,安裝形式引數宣告的前後順序,依次賦值的過程
# 引數的操作
defshow
(name,age,height)
:print
(f"姓名:, 年齡:,身高:"
)# 位置引數
show(
"dongai",18
,"185"
)
實際引數進行資料傳遞時,將實際引數直接賦值給形式引數變數,提高**可讀性
# 關鍵字引數
defshow
(name,age,gender)
:print
(f"姓名:,年齡:,性別:"
)
show(name=
"dongai"
,gender=
"man"
,age=
20)
形式引數宣告時候,可以直接給形式引數賦值(預設值),如果呼叫函式時不給帶有預設值的形式引數傳遞資料,該形式引數就會使用預設值.如果傳遞了實際引數,就會使用傳遞的實際引數.(預設值引數,要寫在位置引數的後面)
# 預設值引數
defshow
(name,age,gender=
"man"):
print
(f"姓名:,年齡:,性別:"
)show(name=
"dongai"
,age=20)
show(name=
"dongai"
,gender=
"girl"
,age=
20)
可變引數,當函式不確定要接收引數的個數時,可以使用可變引數進行操作.
可變引數將乙個普通引數前面新增乙個"*",將普通引數變為可變引數
# 可變引數
defshow
(name,age,
*information)
:print
(f"姓名:,年齡:"
)print
(information)
show(
"dongai",20
)show(
"dongai",20
,"girl"
)# information("girl")
show(
"dongai",20
,"girl"
,1.85
)# information("girl",1.5)
show(
"dongai",20
,"girl"
,1.85
,100
)# information("girl",1.85,100)
可變引數再函式呼叫時,傳遞的實際引數需要約定他們的使用用途,對於**的可讀性並不是很友好,python提供了可變關鍵字引數提高**的可讀性
#可變關鍵字引數
defshow
(name,age,
**information)
:print
(f"姓名:,年齡:"
)print
(information)
show(
"dongai",20
)show(
"dongai",20
,gender=
"male"
)# information("gender"="male")
函式呼叫執行的過程中,必須按照形式引數的名稱,按照key = value的形式傳遞資料
# 強制關鍵字引數
defshow
(name,
*,age,height)
:print
(f"姓名:, 年齡:,身高:"
)# 位置引數
show(
"dongai"
,age=
18,height=
"185"
)
函式呼叫過程中,不明確需要多少個位置引數,需要多少個關鍵字引數
通過python的引數語法,指定接收所有引數
[引數語法:(*args,**kwargs)
# 萬能引數
defshow
(*args,
**kwargs)
:print
("arguments(引數):"
,args)
print
("keyword(關鍵字) arguments(引數):"
,kwargs)
show(
"dongai"
,age=
20)
函式引數:形式引數(變數宣告)和實際引數(包含了具體資料)
實際操作過程中,根據資料從實際引數傳遞到形式引數的方式的不同
def
pay(price,count)
: res = price * count
return res
total = pay(
15.88,7
)print
(f"列印小票:付款¥"
)#列印小票:付款¥111.16000000000001
# 保留小數點後兩位
print
(f"列印小票:付款¥%.2f"
%total)
# 列印小票:付款¥111.16
def
pays
(price,count)
: pay = price * count
money =
float
(input
(f"請輸入您的付款金額(應付¥:"))
if money > pay:
# 計算餘額
balance = money-pay
# 找零
print
(f"找您¥%.2f"
%balance)
# 返回資料
return
else
:input
("支付金額不足,重新購買"
)return
false
pays(price=
15.88
,count=
10)
函式被允許直接返回多個資料,呼叫函式的時候,可以使用1個或者多個變數進行接收
def
pays
(price,count)
: pay = price * count
money =
float
(input
(f"請輸入您的付款金額(應付¥:"))
if money > pay:
# 計算餘額
balance = money-pay
# 找零
print
(f"找您¥%.2f"
%balance)
# 返回資料
return count,price
else
:input
("支付金額不足,重新購買"
)return
false
# 呼叫執行函式
prices,counts = pays(price=
12,count=
4)
python 函式 引數 返回值
函式 function 也叫方法 method 是一組可以重複使用的 段。函式分為內部函式和使用者自定義函式。內部函式就是程式語言已經寫好了,使用者無序定義就能直接呼叫的函式,比如說len str print 等,但是這些函式還遠不能滿足實際開發,故使用者可以自定義函式。函式的結構是 def 函式名...
函式 引數 返回值 遞迴
函式 函式表示式就是忽略名字 1 函式宣告 function onname 2 命名函式表示式 var test function abc 3 匿名函式表示式 var demo function 因為匿名函式表示式比較常用,所以說函式表示式一般是指匿名函式表示式 引數 形式引數 沒有實際傳值 實際引...
函式引數和函式返回值
思考乙個問題,如下 現在需要定義乙個函式,這個函式能夠完成2個數的加法運算,並且把結果列印出來,該怎樣設計?下面的 可以嗎?有什麼缺陷嗎?def add2num a 11 b 22 c a b print c為了讓乙個函式更通用,即想讓它計算哪兩個數的和,就讓它計算哪兩個數的和,在定義函式的時候可以...