[英]Run a Python function that takes arguments from PowerShell explicitly (without passing the arguments separately)
[英]Is there a way to create a function that will run this code but without passing so many arguments?
我試圖使我的項目中的代碼更高效、更短但不難閱讀/理解。
我看到有一些動作在代碼中重復了幾次。 這是一個游戲,所以需要重復這些。 我想也許我應該創建一個每次都調用的函數,但讀起來似乎不太友好,因為根據條件,我需要更改幾個變量,因此我需要將所有變量都傳遞給函數。
下面是一個例子:
if nxtTurn == 'player1':
card2, player1 = EgyptionWarHelper.pull_out_card(player1, nxtTurn)
storage.append(card2)
nxtTurn = 'player2'
else:
card2, player2 = EgyptionWarHelper.pull_out_card(player2, nxtTurn)
storage.append(card2)
nxtTurn = 'player1'
我想創建一個執行此操作的函數,但后來意識到我需要將所有變量傳遞給它,然后在其末尾返回一個包含 2 個變量的元組。 我確實聽說過全局變量,但我從未真正使用過它們,我不知道它們是否是解決方案。
編輯:我發現我不必傳遞一些參數,所以在我編輯函數並使用臨時變量之后,代碼更具可讀性。
此外,正如所評論的,我不必返回player
和player2
因為 python 通過引用而不是值傳遞列表。
為什么不使用臨時變量?
if nxtTurn == 'player1': player = player1 nxtTurn = 'player2' else: player = player2 nxtTurn = 'player1' card2, player1 = EgyptionWarHelper.pull_out_card(player, nxtTurn) storage.append(card2)
它易於閱讀和維護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.