課程
/后端開發
/Python
/初識Python
# OK:def fn1(a, b=1, c=2): ? ?pass
# Error:def fn2(a=1, b): ? ?pass
2018-02-12
源自:初識Python 7-6
正在回答
fn函數的意思就是說接受傳入的數據。
如果只傳入一個如:fn(1)那么就使的a=1,b=1,c=2。
如果傳入多個如:fn(1,10,9)那么就是a=1,b=10,c=9。
而這種定義函數的方式中,默認數據必須寫在定義數據的后面,所以第2種寫法應該是fn2(b,a=1),其中a是默認數據,寫在了b這個定義數據的后面
heinz9913 提問者
(直接引用別人的解釋)由于函數的參數按從左到右的順序匹配,所以默認參數只能定義在必需參數的后面:
上面那句話的中 所謂 必須參數 的意思就是 fn1中的a, fn2 中的b.?
而默認參數 就是fn1 中的 b=1, c=2 , fn2 中的 a=1.
解釋的很清楚了,所以fn2函數參數定義順序錯誤!
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-02-12
fn函數的意思就是說接受傳入的數據。
如果只傳入一個如:fn(1)那么就使的a=1,b=1,c=2。
如果傳入多個如:fn(1,10,9)那么就是a=1,b=10,c=9。
而這種定義函數的方式中,默認數據必須寫在定義數據的后面,所以第2種寫法應該是fn2(b,a=1),其中a是默認數據,寫在了b這個定義數據的后面
2018-02-12
(直接引用別人的解釋)由于函數的參數按從左到右的順序匹配,所以默認參數只能定義在必需參數的后面:
上面那句話的中 所謂 必須參數 的意思就是 fn1中的a, fn2 中的b.?
而默認參數 就是fn1 中的 b=1, c=2 , fn2 中的 a=1.
解釋的很清楚了,所以fn2函數參數定義順序錯誤!