def Input():
c = raw_input ('Enter data1,data2: ')
data = c.split(',')
return data
我需要在其他功能中使用列表data
,但我不想每次都输入raw_input
。如何在c ++中将data
像全局静态一样,并将其放在需要的地方?
答案 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()