переменные Python, классы - PullRequest
       17

переменные Python, классы

2 голосов
/ 09 апреля 2011

Дорогие все, пытаясь выучить Python, классы и как передавать переменные между ними.Прочитав здесь учебное пособие, у меня возникла проблема со следующей ошибкой:

TypeError: unbound method scan() must be called with lexicon instance as first argument (got str instance instead)

Может кто-нибудь помочь мне лучше понять это?СПАСИБО !!!

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()

Ответы [ 2 ]

7 голосов
/ 09 апреля 2011

Вам нужно создать экземпляр объекта типа lexicon, прежде чем вы сможете вызвать один из его методов.то есть

lex = lexicon(data)
lex.scan()
1 голос
/ 09 апреля 2011

В дополнение к тому, что сказал Джим, для вас автоматически передается self.(И не обязательно, чтобы вас называли self, но называть это как-то иначе просто запутает вас и других людей)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...