Захват результатов выполнения функции внутри cmd2 - PullRequest
0 голосов
/ 05 сентября 2018

Вот простой скрипт, использующий библиотеку Python cmd2.

import cmd2

class App(cmd2.Cmd):

  result = 0

  # Long computation
  def do_add3(self, arg):
    r = 3 + int(arg)
    print(r)
    self.result = r

  # Scripting
  def do_test(self, arg):
      self.do_add3("4")
      self.do_add3("2")
      self.do_add3("1")
      print(self.result)

if __name__ == '__main__':
  app = App()
  app.cmdloop()

Суть ссылки

Результат функции do_add3 сохраняется (возвращается) в self.result. Позже это do_add3 было вызвано внутренне с self.do_add3("4").

Есть ли лучший способ вернуть результаты из функции do_, чтобы я мог кодировать, как показано ниже?

self.do_add("4") + self.do_add("3") + self.do_add("2")

P.S. Например, я не могу использовать return внутри do_ функции для возврата значения. Есть ли лучший способ?

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