全局变量/类

时间:2015-06-23 20:33:41

标签: python

我需要在“主程序”中将类方法中创建的值传递给函数,或过程或def或其调用的任何内容

global myValue

class CalcFrame(object):
        def clearFunc(self):
                myValue = 12

def getUrl():
        print myValue

这是我的想法,显然它不起作用:

我做了那个代码,然后我创建了一个对象

x = CalcFrame()

调用应设置全局

的方法
x.clearFunc()

然后调用应该打印它的函数

getUrl()

得到错误

  

NameError:未定义全局名称'myValue'

1 个答案:

答案 0 :(得分:7)

这不是global关键字的使用方式。

应该以这种方式使用

myValue = None

class CalcFrame(object):
    def clearFunc(self):
            global myValue
            myValue = 12

简而言之,global允许函数修改全局范围内存在的变量。有关详细信息,请参阅此处:https://docs.python.org/2/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python