我想知道是否可以同时分配变量并将其用作函数的参数。 例如:
number = 10
print(number*=2)
输出为:
>>>20
另外,如果重复:
>>>40
答案 0 :(得分:0)
Python的解释器不会在函数调用中解释这样的语法,而是会引发SyntaxError
。由于你想要编写一个操作,所以在你这样做的地方没有任何区别。
您可以在函数的顶层或全局执行此操作,然后再转到函数。
答案 1 :(得分: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)