可以根據用戶需求更改子類對象中的變量嗎?如果是這樣,如何,還是有不同的方法?根據用戶需求更改子類中的self.variables數量
我希望變量的子類列表根據用戶需求進行增大,而不必在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))
希望的輸出是[[getattr(item, x) for x in list1] for item in list2]
回報第一個實例3倍的值和對於第二個實例4個值。
在此類的實例上嘗試getattr(item, x)
時收到的錯誤是AttributeError: 'MyClass' object has no attribute <key>
,其中<key>
是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)])
我有這個,我想加上或減去一個變量,每次做。這不起作用。任何人?
我做了一些修改,但都沒有收到自上週四以來任何迴應。有什麼理由?你能否至少取消你的保留並允許其他人作出迴應?沒有提到爲什麼這不是一個合適的問題。 – double0darbo