看板 [ Python ]
討論串[問題] function 選擇性使用 default kwarg
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓1(1推 0噓 0→)留言1則,0人參與, 3年前最新作者papple23g (逆道者)時間3年前 (2020/12/04 11:40), 編輯資訊
4
0
0
內容預覽:
有個困擾很久的問題. 考慮以下程式碼:. def f(a,b=10):. print(a+b). use_default_b=True. a=5. if use_default_b:. f(a). else:. f(a,b=100). 其中不同的 use_default_b 布林值會有不同的運行結果
(還有298個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 3年前最新作者ddavid (謊言接線生)時間3年前 (2020/12/04 14:36), 3年前編輯資訊
0
0
0
內容預覽:
這樣可能好一點點:. params = {}. params.update({} if use_default_b else {"b": 100}). f(a, **params). 每多一個這種參數就多一行update就好。. 其實如果可以改動f內容跟use_default_b來源就會有更好的做法
(還有113個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者lycantrope (阿寬)時間3年前 (2020/12/04 19:19), 編輯資訊
0
0
0
內容預覽:
也可以用functools的partial先把b跟kwargs丟進去. from functools import partial. def f(a, b = 10):. print(a + b). use_default_b = True. a = 5. params = {}. if use_d
(還有32個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者bazoo (surfers'paradise)時間3年前 (2020/12/04 21:03), 編輯資訊
0
0
0
內容預覽:
不知道前後限制下,我會簡單這樣改寫,參考看看:. def f(a, b):. print(a+b). a = 5. b = 10 # This is default b. if not use_default_b:. b = 100 # get new b value. f(a, b=b). 其實我
(還有14個字)

推噓0(0推 0噓 1→)留言1則,0人參與, 3年前最新作者art1 (人,原來不是人)時間3年前 (2020/12/06 06:51), 3年前編輯資訊
0
0
0
內容預覽:
f(a,. b = 10 if condition else 100). 既然知道預設值是多少,直接傳就好了. --. 「看在上帝的份上,我們不能當著孩子的面槍殺他的父親!」. 「那我們就連孩子一起幹掉!」. 「第一槍打中的是那個天真的孩子,第二槍是抱著孩子的母親。第三槍. 停頓了三秒,當難以致信的
(還有88個字)
首頁
上一頁
1
2
下一頁
尾頁