[英]Creating a class attribute dependent on another attribute without overwriting
我有具有兩個屬性的 class Vehicle
: pRange
和pBattery
車輛具有pRange
或 505 的 pRange 的機會均等。我希望pBattery
屬性的值取決於pRange
值。
這是我的代碼:
class Vehicle:
def __init__(self, pRange, pBattery):
self.pRange = np.random.choice(list(pRange), p = list(pRange.values()))
self.pBattery = pBattery
pRange = { 220 : 0.25, 310 : 0.25, 400 : 0.25, 505 : 0.25 }
b = Vehicle(pRange, pBattery)
if b.pRange == 220:
b.pBattery == 36
elif b.pRange == 310:
b.pBattery == 47.5
elif b.pRange == 400:
b.pBattery = 64
elif b.pRange == 505:
b.pBattery = 95
print(b.pRange)
print(b.pBattery)
這實際上給出了正確的結果,但我確信有一種更有效的方法可以做到這一點。
class Vehicle:
def __init__(self, pRange):
self.pBattteryDict = {220:36, 310:47.5, 400:64, 505:95}
self.pRange = np.random.choice(list(pRange), p = list(pRange.values()))
self.pBattery = self.pBattteryDict[self.pRange]
pRange = { 220 : 0.25, 310 : 0.25, 400 : 0.25, 505 : 0.25 }
b = Vehicle(pRange)
print(b.pRange)
print(b.pBattery)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.