如果没有创建,如何在Python中创建变量?

时间:2017-01-12 10:26:26

标签: python

我在Python中创建了一个相当简单的文本编辑器控制台应用程序,但我在开始时遇到了问题。这是一个相当简单的代码:

if txtrue == 0 :
      txtrue = Empty

if txtrue == "Present" :
    svd = "one"
else :
    svd = "no"

如果txtrue已经存在,我试图定义txtrue。我该怎么做?

txtrue只是定义文本是否存在于不同的变量中。

4 个答案:

答案 0 :(得分:2)

您可以检查globals中是否定义了名称并对其采取行动:

if not 'name' in globals():
    name = 'foo'
else:
    print(name)

同样,如果你在一个函数中,你也可以偷看locals 。我同意其中一条评论;这种缺乏控制似乎很奇怪。

答案 1 :(得分:1)

取决于变量是local还是global。 Python维护着两个集合:locals()globals(),它们包含已定义变量的名称:

if 'txtrue' not in locals():
    #define txtrue
    txtrue = None

表示局部变量,当然globals()表示全局变量。

但实际上你的代码看起来很糟糕。你也可以给它一个初始值,如None,并测试它是否还有None

答案 2 :(得分:0)

try:
    txtrue
except NameError:
    txtrue = "Present"

这应该可以完成你想要做的事情。

答案 3 :(得分:0)

尝试:

if txtrue not in locals():
    txtrue = None 

除了NameError:

txtrue = "Present"