Python 根据用户更改子类中self.variables的数量';s的要求

Python 根据用户更改子类中self.variables的数量';s的要求,python,class,subclass,python-3.5,Python,Class,Subclass,Python 3.5,我可以根据用户需要更改子类对象中的变量吗?如果是,如何或有不同的方法 我希望变量的子类列表能够根据用户的需求不断增长,而无需在init中预写*self.*变量,并允许用户创建一个列表 如何处理子类中长度不断变化的列表 class MyClass(object): def __init__(self, list1, list2): # list 1: keys; list 2: values len1 = len(list1) # Changing range base

我可以根据用户需要更改子类对象中的变量吗?如果是,如何或有不同的方法

我希望变量的子类列表能够根据用户的需求不断增长,而无需在init中预写*self.*变量,并允许用户创建一个列表

如何处理子类中长度不断变化的列表

class MyClass(object): 
    def __init__(self, list1, list2): # list 1: keys; list 2: values

        len1 = len(list1) # Changing range based on desired keys
        for i in range(len1): 

             self.list1[i] = list2[i] # desired effect

List1 = ['first','second','third']; List2 = [1,2,3];
print(MyClass(List1,List2))
List1.append('fourth'); List2.append(4)
print(MyClass(List1,List2))
对于列表2中的项,所需的输出是
[[getattr(项,x)表示列表1中的x]
为第一个实例返回3个值,为第二个实例返回4个值

尝试对此类实例执行
getattr(item,x)
时收到的错误是
AttributeError:“MyClass”对象没有属性,其中
是list1,而不是list1中的值

我的工作是预先填充字段,如下所示:

import re

kLs = ("the", "list", "of", "new", "caught", "values")

let = ['a','b','c','d','e','f']
reAN = re.compile("\w+")
for k in kLs: print('self.'+reAN.search(re.sub(r"\s+", "", k)).group()+' = '+let[kLs.index(k)])
每次我想减去或添加一个变量时,我都必须这样做。这行不通。有人吗


我没有在最初的帖子中详细说明,但我希望修改的是子类内部的修改,就像修改变量一样。不过,我不确定这是否可行。我已经做了很多编辑,但从周四起就没有收到任何回复。有什么原因吗?你能至少解除你的束缚,让其他人回应吗?没有提到为什么这不是一个合适的问题。
MyClass(*space)