我正在尝试为我的小妹妹创建一个游戏。这是一种虚拟宠物,宠物有玩具可以玩。
我创建了一个类Toy
,想创建一个函数getNewToy(name, data1, data2, data3, data4, data5)
。
我希望该函数创建类 Toy
的新实例,并且希望每次创建新实例时都能多次调用该函数。
根据我的经验,您创建一个实例:
class Toy:
def __init__(self, name, data1, data2, data3, data4, data5):
pass
myToy = Toy(myToy, 1, 2, 3, 4, 5)
然后使用类中的方法:
myToy.method1()
看到我想要拥有多个玩具的能力,每个玩具都有一个 playWith()
方法,我希望实例每次都反射(reflect) Toy
的名称一个被调用。
我希望每次调用 getNewToy(,...)
方法时实例都不同,并且实例反射(reflect)名称。
最佳答案
鉴于您的编辑,我假设您将类名作为字符串并希望实例化该类?只需使用字典作为调度程序。
class Foo(object):
pass
class Bar(object):
pass
dispatch_dict = {"Foo": Foo, "Bar": Bar}
dispatch_dict["Foo"]() # returns an instance of Foo
关于python - 在 Python 中使用变量创建类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136760/