2

我想知道是否可以同時分配變量並將其用作函數的參數。 例如:變量賦值和使用python

number = 10 
print(number*=2) 

與輸出是:

>>>20 

此外,如果這是重複:

>>>40 
+1

不,它不是,作爲錯誤消息應指示。你爲什麼想要它? – jonrsharpe

+1

Python沒有這個功能。我所知道的最接近的是C中的遞減/遞增表達式:一種帶有副作用的評估。 – Prune

回答

0

Python的解釋並沒有對函數調用解釋這些語法和意志提出SyntaxError。既然你想寫一個操作,那麼你在那裏做什麼並沒有什麼不同。

在傳遞函數之前,您可以簡單地在函數的頂層或全局執行該操作。

0

你不能。此語法未在Python語法中定義,因此無法將通過賦值存儲的結果用作參數。

test: or_test ['if' or_test 'else' test] | lambdef 
[after some depth, you will have a comparaison, which is...] 
comparison: expr (comp_op expr)* 
argument: (test [comp_for] | 
      test '=' test | 
      '**' test | 
      '*' test) 

正如您所見,參數基本上是一個表達式,可能通過三元操作/列表理解。 (該test '=' test是用於設定a named argument

c.f https://docs.python.org/3/reference/grammar.html