变量赋值和使用 Python

variable assigning and using python

提问人:Finley Rosser-Davies 提问时间:2/12/2016 最后编辑:Finley Rosser-Davies 更新时间:2/12/2016 访问量:71

问:

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

number = 10
print(number*=2)

输出为:

>>>20

此外,如果重复此操作:

>>>40
python 参数 变量赋值 赋值运算符

评论

1赞 jonrsharpe 2/12/2016
不,事实并非如此,正如错误消息所示。你为什么想要它?
1赞 Prune 2/12/2016
Python 没有这个功能。我所知道的最接近的是 C 中的递减/递增表达式:具有副作用的评估。

答:

0赞 Mazdak 2/12/2016 #1

Python 的解释器不会在函数调用时解释此类语法,并且会引发 .既然你想写一个操作,那么你在哪里做没有任何区别。SyntaxError

在传递到函数之前,您可以简单地在函数的顶层或全局执行此操作。

0赞 Maxime Lorant 2/12/2016 #2

你不能。此语法未在 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)

C.F https://docs.python.org/3/reference/grammar.html