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

推噓0(0推 0噓 1→)留言1則,0人參與, 4年前最新作者uranusjr (←這人是超級笨蛋)時間4年前 (2020/12/09 21:59), 編輯資訊
0
0
0
內容預覽:
我會建議不要拘泥於非得一行, 而是寫成這樣. opt_kwargs = {}. if not use_default_b:. opt_kwargs["b"] = 100. if not use_default_c:. opt_kwargs["c"] = 200. .... f(a, **opt_kw
(還有18個字)

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

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者bazoo (surfers'paradise)時間4年前 (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噓 0→)留言0則,0人參與, 最新作者lycantrope (阿寬)時間4年前 (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個字)

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