确定变量是否已定义在Python中
你怎么知道一个变量在代码的某个地方被设置了呢?这并不总是很明显,因为(1)这个变量可能是在某些条件下才被设置的,(2)这个变量也可能是在某些条件下被删除的。我想找一些类似于Perl中的defined()
、PHP中的isset()
或者Ruby中的defined?
这样的东西。
if condition:
a = 42
# is "a" defined here?
if other_condition:
del a
# is "a" defined here?
6 个回答
168
我觉得最好避免这种情况。这样写会更简洁明了:
a = None
if condition:
a = 42
464
你可以用 'a' in vars() or 'a' in globals()
这段代码来检查变量 'a' 是否存在。
如果你想更严格一点,还可以检查内置的变量,方法是
'a' in vars(__builtins__)
。
788
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,当一个用户点击按钮时,我们希望程序能够响应这个动作并做出相应的处理。
为了实现这个功能,我们可以使用“事件监听器”。简单来说,事件监听器就像是一个守卫,它在等待某个特定的事件发生,比如鼠标点击、键盘输入等。一旦这个事件发生,守卫就会立刻通知程序去执行预定的操作。
举个例子,如果你在网页上点击一个按钮,事件监听器就会捕捉到这个点击事件,然后可以让程序显示一条消息或者改变按钮的颜色。这种方式让我们的程序能够与用户进行互动,提升用户体验。
总之,事件监听器是让程序能够响应用户操作的重要工具,它帮助我们创建更生动和有趣的应用。
try:
thevariable
except NameError:
print("well, it WASN'T defined after all!")
else:
print("sure, it was defined.")