f.addToList
и f.displayList
не вызывают методы addToList
и displayList
соответственно.Они просто сами оценивают метод (в данном случае привязанный к объекту f
).Добавьте скобки для вызова методов, как в исправленной версии программы:
class MyFunctions():
def __init__( self):
self.listOfItems = []
def displayList( self):
"""Prints all items in listOfItems)"""
for item in self.listOfItems:
print item
def addToList(self):
"""Updates all mlb scores, and places results in a variable."""
self.listOfItems.append("test")
f = MyFunctions()
f.addToList()
f.displayList()
В отличие от Ruby, который не требует скобок для вызова метода (за исключением устранения неоднозначности в некоторых случаях).
Поучительно добавить следующее в конец вашей программы:
print type(f.addToList)
Это выведет что-то вроде следующего:
<type 'instancemethod'>
, демонстрирующее, что это методссылка, а не вызов метода.