我试图找出如何从一个名称属性字符串中初始化一些对象。每个对象都将映射到一个字典键。基本思路如下:
class Triangle(Shape):
def __init__():
Shape.__init__()
name = "Triangle"
class Square(Shape):
def __init__():
Shape.__init__()
name = "Square"
classTuple = (Triangle, Square)
classList = ["Triangle", "Square"]
classDict = {}
def initObjects():
for shape in classList:
for obj in classTuple:
if obj.name == shape:
classDict[shape] = obj(obj.sides, obj.corners #etc)
initObjects():
然而,唯一的问题是classTuple中的变量没有定义,需要设置为类对象。你要怎么做呢
您的
__init__()
方法缺少self
参数。我还建议使用super()
方法相关问题 更多 >
编程相关推荐