我希望在python中灵活地为变量赋值,无论该变量在我的代码中的什么位置。
例如,假设If语句中有一个变量x...
if(x == 5):
print "that's odd."
else:
print "Woot."我希望能够在if语句中正确赋值x,如下所示:
if((x=3) == 5):
print "that's odd."
else:
print "Woot."这有可能吗?这是另一个例子。假设我有一行代码:
y = x + 10我想在这里给x赋值:
y = (x=3) + 10所以我正在寻找一种方法,在我的代码中的任何地方找到一个变量,并给它赋值。有没有一种pythonic式的语法?
发布于 2019-01-10 02:50:39
在Python中,您可以使用assignment expressions (operator :=):
if (x := 3) == 5:
print("that's odd")
y = (x := 3) + 10发布于 2014-07-15 14:49:36
“在Python中,赋值是一个语句,而不是表达式,因此不能在任意表达式中使用。这意味着常见的C语言习惯用法如下:
while (line = readline(file)) {
...do something with line...
}或
if (match = search(target)) {
...do something with match...
}不能在Python中按原样使用。“
http://effbot.org/pyfaq/why-can-t-i-use-an-assignment-in-an-expression.htm
发布于 2016-09-15 18:06:20
globals().setitem('a',1)或a
这有点老生常谈,但有两件事是可能的:通过locals()或globals()函数声明/赋值一个变量。使用or链接一个inplace函数(返回None)。
我怀疑使用它们中的任何一个都被认为是一个好的实践,但它们是可用的
https://stackoverflow.com/questions/24751423
复制相似问题