[問題] 一次傳多個 keyword 給 function

看板Python作者 (黑駿)時間13年前 (2012/07/21 02:52), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
我在寫 VPython 時,想要畫很多有類似屬性的物體 可能就會寫出像下面這樣的東西 cone(pos=(0,3,0), axis=(0,-3,0), material=materials.wood, color=color.orange frame=f) sphere(pos=(0,3,0), material=materials.wood, color=color.orange frame=f) box(pos=(0,-.25,0), size=(4,.5,4),material=materials.wood, color=color.orange frame=f) 其中黃色部分是完全一樣的 因此我想把他包成變數,如果要修改值的話也只要改那個變數,不用到處改 例如: params1 = {'material': materials.wood, 'color':color.orange} params2 = {'frame': f} cone(pos=(0,3,0), axis=(0,-3,0), **params1, **params2) sphere(pos=(0,3,0), **params1, **params2) box(pos=(0,-.25,0), size=(4,.5,4), **params1, **params2) 但上面那個方法是 Syntax Error 原因是 **keywords 後不能再有其他參數 我實在不想每個都寫這麼長而且要一個一個改值... 請問有比較好的寫法嗎? -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.24.38

07/21 03:36, , 1F
param = dict(params1); param.update(params2);
07/21 03:36, 1F
文章代碼(AID): #1G2QZW-t (Python)
文章代碼(AID): #1G2QZW-t (Python)