【发布时间】:2020-04-11 18:47:31
【问题描述】:
我正在创建一个接收 2 个文本文件的小程序。每个文件都有关于一个对象或一个人的信息。每个对象总是有 8 个项目,每个人总是有 7 个项目。我设法将这些信息自动放入列表中,而不管文本文件可能显示的对象或人员的数量。因此,我获得了两个主要清单。我们称它为“D”和“C”。 每个列表都有几个列表,其中包含对象或人的各自信息。
例子:
D = [[att1, att2, att3, att4, att5, att6, att7, att8], [object 2], ..., [n-object]]
c = [[att1, att2, att3, att4, att5, att6, att7], [person 2], ..., [n-person]]
在处理对象时,我创建了两个不同的类,一个用于处理每个列表。构造方法接收每个人或对象的属性。
例子:
class DDD(object):
def __init__(self, att1, att2, att3, att4, att5, att6, att7, att8):
self._att1 = att1
self._att2 = att2
etc etc etc etc
其他类也是如此。
这是我遇到问题的地方。如何自动为每个对象创建实例? 难点在于变量的分配。您当然可以创建一个“for 循环”,同时考虑“len (D)”或“len (C)”来创建实例。我可以通过索引调用构造方法的参数。
喜欢:
for i in D:
X1 = classD(i[0], i[1], i[2], etc etc)
......
如何自动使变量(X2、X3、X4、Xn)递增以进行赋值?
【问题讨论】:
-
为什么不让你的构造函数获取属性列表?
标签: python class variables variable-assignment