沒有將sympy符號傳遞給函數有什麼缺點嗎?我應該將sympy符號傳遞給函數嗎?
def compute(alpha,a): #or def compute(a)
return 3*alpha+a
alpha = sympy.symbols("alpha")
expr = compute(alpha,3)
我沒有通過alpha
到compute()
(我假設,因爲它是一個全局變量),而現在,我認爲它使代碼更可讀,當我離開它。 這是否被認爲是不好的設計?我想這是一個通用的「如何處理Python中的全局變量」問題,正如已經被問到here,但答案表示它將取決於具體的用例。
我還有我之前調用該函數來創建alpha
符號,如果我不包括它,它只是並不明顯。
除非有一些不合理的理由,否則將變量作爲參數傳遞給函數,而不是將其讀入全局。它使得代碼更清晰,更健壯。 – khelwood