Dlaczego obiekt „int” nie jest błędem wywoływanym podczas używania funkcji sum ()?
Próbuję dowiedzieć się, dlaczego otrzymuję błąd podczas używania funkcji sum w zakresie.
Oto kod:
data1 = range(0, 1000, 3)
data2 = range(0, 1000, 5)
data3 = list(set(data1 + data2)) # makes new list without duplicates
total = sum(data3) # calculate sum of data3 list's elements
print total
A oto błąd:
line 8, in <module> total2 = sum(data3)
TypeError: 'int' object is not callable
Znalazłem to wyjaśnienie błędu:
W Pythonie „wywoływalny” jest zwykle funkcją. Komunikat oznacza, że traktujesz liczbę (> „int”) tak, jakby była to funkcja („wywoływana”), więc Python nie wie, co robić, więc> zatrzymuje się.
Przeczytałem również, że sum () może być używany na listach, więc zastanawiam się, co tu jest nie tak?
Właśnie wypróbowałem to w module IDLE i działało dobrze. Nie działa jednak w interpreterze Pythona. Jakieś pomysły na to, jak to możliwe?