似乎不可能使用字符串作为变量的名称。我基本上希望程序能够理解引号内的东西是我想引用的对象的名称。我想做这样的事情:
str = "modname"
import var(str)
var()是一个虚构的函数。我可以使用str()或int()的方式使用它。我想你可能会问"为什么?"它可以做到这样的事情:
class player:
__init___():
attributes = [ "hp", "attack", "defense" ]
for x in range( 0, len(self.attributes) ]:
self.var(attributes[x]) = var( attributes[x] + "()" )
(假设您已经完成了from stats import *
之类的事情)。但真正的回报是能够做到这样的事情:
for x in range( 0, len(self.attributes) ):
self.var(attributes[x]).modAttr(-5)
print self.var(attributes[x]).magnitude
这可能吗?想要这样做是完全荒谬的吗?或者是否有不同的,更正常的方式来执行这样的任务?
答案 0 :(得分:0)
我找到了答案。原来它是基于这样的东西。
class whatever:
list_of_modules = [ "one", "two", "three" ]
for l in list_of_modules:
exec ("self.attr_%s = %s()" % ( l, l ))