我想检查变量是否存在.现在我正在做这样的事情:
try:
myVar
except NameError:
# Do something.
Run Code Online (Sandbox Code Playgroud)
还有其他方法没有例外吗?
您如何知道变量是否已在运行时在代码中的特定位置设置?这并不总是显而易见的,因为(1)变量可以有条件地设置,(2)变量可以有条件地删除.我正在寻找像defined()
Perl isset()
,PHP或defined?
Ruby中的东西.
if condition:
a = 42
# is "a" defined here?
if other_condition:
del a
# is "a" defined here?
Run Code Online (Sandbox Code Playgroud) 在Perl中,能够分配对象通常很好,但如果从中分配的变量是'undef',则指定一些回退值.例如:
my $x = undef;
my $y = 2;
my $a = $x || $y;
Run Code Online (Sandbox Code Playgroud)
在这之后,
$a == 2
Run Code Online (Sandbox Code Playgroud)
有没有一种简洁的方法可以在Python中实现这一点,如果值x是None,或者是全开...
if x is not None
a = x
else
a = y
Run Code Online (Sandbox Code Playgroud)
...成为实现这一目标的最恐怖的方式?
编辑:道歉,正如几位评论者所指出的那样,我并没有真正谈论价值未定义,而是Perl中的'undef',这实际上并不是一回事.但最初措辞的问题并没有说清楚.