Python中的全局静态变量

时间:2010-09-12 11:03:05

标签: python variables static global

def Input():
    c = raw_input ('Enter data1,data2: ')
    data = c.split(',')
    return data

我需要在其他功能中使用列表data,但我不想每次都输入raw_input。如何在c ++中将data全局静态一样,并将其放在需要的地方?

2 个答案:

答案 0 :(得分:13)

在您的函数中添加一行:

def Input():
    global data
    c = raw_input ('Enter data1,data2: ')
    data = c.split(',')
    return data

global data语句是使data成为全局变量的声明。致电Input()后,您可以在其他功能中引用data

答案 1 :(得分:4)

使用全局变量通常被认为是不好的做法。最好使用正确的面向对象并将“数据”包装在适当的类/对象中,例如

class Questionaire(object):
    def __init__(self):
        self.data = ''

    def input(self):
        c = raw_input('Enter data1, data2:')
        self.data = c.split(',')

    def results(self):
        print "You entered", self.data

q = Questionaire()
q.input()
q.results()