python灵活的内联变量赋值函数

2024-06-10 07:02:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在python中灵活地为变量赋值,不管变量在我的代码中位于何处。在

例如,在If语句中给定一个变量x。。。在

if(x == 5):
    print "that's odd."
else:
    print "Woot."

我希望能够像这样在if语句中分配x权限:

^{pr2}$

有可能吗?这是另一个例子。假设我有一句话是:

y = x + 10

我想在那里指定x:

y = (x=3) + 10

所以我在寻找一种方法,在代码的任何地方找到一个变量,并给它赋值。有Python语法吗?在


Tags: 方法代码权限ifthat地方语句else
3条回答

在Python3.8中,可以使用assignment expressions(运算符:=):

if (x := 3) == 5:
    print("that's odd")

y = (x := 3) + 10

globals()。setitem('a',1)或a

这有点老套, 但有两件事是可能的, 通过locals()或globals()函数声明/分配一个变量。 使用or链接一个在位函数(返回None)。在

我怀疑使用这两种方法中的任何一种都被认为是一种好的做法,但它们是可用的

在Python中,赋值是语句,而不是表达式,因此不能在任意表达式中使用。这意味着常见的C语言习惯用法如下:

while (line = readline(file)) {
    ...do something with line...
}

或者

^{pr2}$

不能按Python中的原样使用。“在

http://effbot.org/pyfaq/why-can-t-i-use-an-assignment-in-an-expression.htm

相关问题 更多 >