python如何解决动态的定义变量名,并给其赋

Python039

python如何解决动态的定义变量名,并给其赋,第1张

变量名字只是为了用户使用方便而使用的,对于计算机,根本就不知道这中间的东西,看待这些都是使用内存的地址来判别的,对于你这样的情况是无法直接利用java实现的,不过可以使用另外一种方法.

就是定义一个类,类中有两个属性,一个是String类型,一个是int类型,这样循环定义100个对象,每个对象的String类型成员存放的是int1....int100,而int类性的成员则存放的是相应的数值。这样一来就可以轻松解决了,而且这一百个对象可以定义成例如 Fun[]bj=new Fun[100]这样一来,就可以利用数组的操作来实现任意操作了!!

要知道一个对象与变量名的关系。在python中变量名与对象是不同的东西。一般来说,通过赋值语句会生成一个对象,但这个对象一般不能直接使用,需要通过一个引用来使用它,即给它一个名字。也就是等号左边是一个变量名,右边是生成对象的代码,因此在执行这条赋值语句后就存在了两个东西,一个是名字,一个是对象。在Python中把名字与变量关联起来叫绑定。因此在后面你如果继续对同一个变量名赋值的话,其实是实现了对变量名与新对象的重新绑定,在Python中这是允许的,原来绑定的对象如果无人再使用就自动回收,否则就将引用计数减一。而这个对象是无法改变类型了。因此你上面的a是变量名,后面才是对象的定义。不知道你是否理解。

class ToolbarFrame(wx.Frame):

def __init__(self,id):

self.__dict__['test_%d'%1] = 1