Dear All, Trying to learn python, classes, and how to pass variables between. Going through a learning guide here, and am having trouble with the following Error:
TypeError: unbound method scan() must be called with lexicon instance as first argument (got str instance instead)
Can someone please help me understand this better? THANKS!!!
class lexicon (object):
def __init__(self,data):
self.direction = data
self.words = data.split()
def scan(self):
return self.words
def main():
stuff = raw_input('> ')
x = lexicon.scan(stuff)
if __name__ == '__main__':
main()
You have to instantiate an object of type
lexicon
before you can invoke one of its methods. i.e.In addition to what Jim said,
self
is automatically passed in for you. (And it's not required to be calledself
but calling it something else will just confuse yourself and other people)