Python:如何检查变量是否已经声明
在处理许多if/elif/else时,如果已经声明了一个变量,我有时会丢失一个跟踪。我想知道一种检查变量foo是否已经声明的简单方法。最简单的语法是什么 另外,看到如何使用globals()和locals()来实现这一点很有趣 编辑: 我最终使用了:Python:如何检查变量是否已经声明,python,variables,declaration,Python,Variables,Declaration,在处理许多if/elif/else时,如果已经声明了一个变量,我有时会丢失一个跟踪。我想知道一种检查变量foo是否已经声明的简单方法。最简单的语法是什么 另外,看到如何使用globals()和locals()来实现这一点很有趣 编辑: 我最终使用了: if not 'myVariableName' in globals().keys(): myVariableName='someValue' 很难跟踪/ifapp=QtGui.QApplication(sys.argv)已在何时何地声明,特别是
if not 'myVariableName' in globals().keys(): myVariableName='someValue'
很难跟踪/ifapp=QtGui.QApplication(sys.argv)已在何时何地声明,特别是在一个gui模块调用另一个gui模块,反之亦然的情况下
如果globals()中的“app”(似乎)有助于避免意外的变量重新声明。与其担心是否声明了变量,不如从一开始就声明所有变量。您可以给变量一些值,以指示它仍处于初始状态,例如
try:
foo
except NameError:
# does not exist
else:
# does exist
foo = None
或者,如果要将None
用于其他目的,可以创建一个唯一的值来指示初始状态,例如
INITIAL = object()
foo = INITIAL
稍后,如果需要检查变量是否已设置,则可以使用if
:
if foo == INITIAL:
我认为这样做的主要好处是
顺便说一句,在
\uuuu init\uuuu
中定义所有实例属性也是一个好主意,因此实例可能具有哪些属性是毫无疑问的