Python声明一个静态和全局的数组/列表

时间:2018-06-02 23:56:03

标签: python arrays static global

我正在尝试学习python。我正在制作一个小程序,在静态数组上保存一些数字或字符串。我希望我的函数将变量保存在单个数组中。但是在我完成我的功能之后,阵列也消失了。如何在python中使我的数组静态?我想在几个函数中改变它。

py_ppl = []  

def Dong():

    alc1 = alc.get()
    alc2 = alc1
    alc1 = [0]

    py_ppl.append(alc1[0])
    py_ppl.append(alc2)

我的意思是这样的。我得到了Tkinter Gui的alc。

1 个答案:

答案 0 :(得分:1)

这个使用类变量的例子可以帮到你。在init中声明的变量对于类的每个实例都是本地的,并且在类顶部声明的变量对于类的所有实例都是全局的。

class funkBox:
    globalToBox = [] # our class variable
    def __init__(self):
        pass         # our do nothing constructor
    def funk(self,elm): # our function 
        self.globalToBox.append(elm)
    def show(self):     # for demonstration
        print(self.globalToBox)

a = funkBox() #create one instance of your function holder
b = funkBox() #and another
a.funk("a")   #call the function on the first instance
b.funk("b")   # call the function again 
a.show()      # show what instance a has 
b.show()      # and b

打印

['a', 'b']
['a', 'b']