变量赋值和使用python

时间:2016-02-11 21:21:10

标签: python variables parameters variable-assignment assignment-operator

我想知道是否可以同时分配变量并将其用作函数的参数。 例如:

number = 10
print(number*=2)

输出为:

>>>20

另外,如果重复:

>>>40

2 个答案:

答案 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

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