我想根据python中另一个变量的值设置一个变量。但是当我在if
- then
语句中询问变量集的值时,它无法找到变量,显然是因为它现在超出了范围。
请考虑以下事项:
>>> a = True
>>> if a:
... b=1
... else:
... b=2
>>> print b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
有没有pythonic方式来写这个?例如,以下代码有效,但它是正确的方式&#34;写它,还是有更好的方法?
>>> b = None
>>> if a:
... b=1
... else:
... b=2
...
>>> b
1
答案 0 :(得分:2)
对于简单的作业,您可以使用python's equivalent of ternary operator:
>>> a = True
>>> b = 1 if a else 2
>>> b
1
另外,我无法重现你给出的例子,
In [1]: a = True
In [2]: if a:
...: b = 1
...: else:
...: b = 2
...:
In [3]: print b
1