나는 객체가정의하고 사용자의 목록을 액세스하는 개체를
class Car:
def __init__(self):
price = float(0)
그리고 다른
class Day:
def __init__(self):
self.carList = [Car() for each in range(100)]
self.createPriceList()
def createPriceList(self):
tempCar = Car()
for i in range(100):
tempCar.price = function_giving_a_value() # 10 last cars have 0.0 as value
self.carList[i] = tempCar
print i, self.carList[i].price
# prints the correct list : each line contains a correct price
#edited after answers : in fact it's just misleading, cf answers
def showPriceList(self):
for i in range(len(self.carList)):
print i, self.carList[i].price
# prints i (correct) but each self.carList[i].price as 0.0
# so len(self.carList) gives correct value,
# but self.carList[i].price a wrong result
내 질문은이 :
- 왜
showPriceList()
에,self.carList
올바르게 인식 (len
은 루프에서 올바른 번호를 제공하지만self.carList[i].price
은 에로스? (올바르게createPriceList()
방법에 채워진 것 같다 경우)
나는 모든 가격이 같을 것이라고 기대하지만 모든 가격이 0이 아니라 다소 임의의 가치라고 기대하고 있습니다. –
'price = float (0)'보다는'price = 0.0'을 선호합니다. – juliomalegria
@ Marnach, 사실 저는 random()을 넣었지만 잘못된 생각이었습니다. function_giving_a_price()는 지난 10 대의 자동차에 대해 0.0을 반환합니다. 나는 원래의 질문을 수정했다. – user1097922