Вызов функции в main объявлен внутри одного класса, но не может - PullRequest
0 голосов
/ 24 апреля 2020

Я вызываю функцию kindle в main, объявленную внутри класса, и я создаю экземпляр объекта класса внутри main, а затем пытаюсь получить доступ к kindle с ним, но не могу. Ошибка отображается как: NameError: имя «Программа» не определено.

class Program:

   def kindle():
      x = 2
      return x

   def main():
      p = Program()
      p.kindle()
   if __name__ == "__main__":
      main()

1 Ответ

1 голос
/ 25 апреля 2020

Поскольку main () вызывает программу, источник выглядит некорректно. Это должно быть

class Program:

   def kindle():  # bad
      x = 2
      return x

def main():
   p = Program()
   p.kindle()

if __name__ == "__main__":
   main()

Также kindle определение должно быть либо

@staticmethod
def kindle():

, либо def kindle(self):

...