2016-07-18 70 views
-1

我的數據源提供了字典,我想豐富這些字典並將它們用於別的東西。 但是我不能讓我的頭在課堂上做出新的字典,無論我做什麼,它總是會返回一個空的字典。Dict Class空結果

class car(dict): 
    def __init__(self, carId, data): 
     self.carId = carId 
     self.brand = data['Brand'] 
     self.type = data['Type'] 

    def addColor(self, color): 
     self.color = color 

car1 = {'Brand': 'Volkswagen', 'Type': 'Polo'} 
car2 = {'Brand': 'Volvo', 'Type': 'C30'} 

car1b = car("someID", car1) 

print car1b['someID'] 
+0

嘗試修改'__getitem__'方法來訪問'data'。 –

+2

你期望在這裏發生什麼?爲什麼不打印'car1b.brand',這會給你'大衆'? – jonrsharpe

+0

我期待car1b ['品牌']與car1b.brand – Thijs

回答

1

您需要更改self.carId = carIdself[carId] = carId

試試這個

class car(dict): 
    def __init__(self, carId, data): 
     self[carId] = carId 
     self.brand = data['Brand'] 
     self.type = data['Type'] 

    def addColor(self, color): 
     self.color = color 

car1 = {'Brand': 'Volkswagen', 'Type': 'Polo'} 
car2 = {'Brand': 'Volvo', 'Type': 'C30'} 

car1b = car("someID", car1) 

print(car1b["someID"]) 
+0

謝謝。通過擰緊。和[..]我正在製作實例而不是實例的值作爲Ev。庫尼斯指出.. – Thijs