我的问题是如何在运行中创建变量。我试图用随机的一组属性来生成一个对象。Python - 动态变量
from random import randint, choice
class Person(object):
def __init__(self):
self.attributes = []
possible_attributes= ['small', 'black', 'scary', 'smelly', 'happy'] # idk, random
chance = randint(1,5)
chosen_attributes = []
for i in xrange(chance):
#psuedo code...
local_var = choice(possible_attributes)
if local_var not in chosen_attributes:
VAR = local_var # VAR needs to be dynamic and 'global' for use later on
chosen_attributes.append(local_var)
Person.attributes.append(local_var)
我敢肯定我怎样,我想这样做,这不是一个好办法,所以如果有人明白我在寻找,并能够提供更好的方法(一个工程,对于初学者)我将是最感激。谢谢!
这是...非常烂。改用字典。 – 2012-08-15 04:19:23
为什么你需要VAR是'全球'?构建具有所有期望属性的Person实例有什么问题? – 2012-08-15 04:20:40
我认为这个问题是你需要弄清楚如何避免这种情况。字典和列表做了很棒的工作。 – 2012-08-15 04:24:17