Как получить доступ к экземплярам во вложенной функции? - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь получить доступ к экземпляру значения во вложенной функции. не знаю как go об этом. Любая помощь будет оценена. Спасибо

def on_pre_enter(self, *args):
    notifications_screen = self.manager.get_screen('notif')
    def listener(event):
        print(event.event_type)  # can be 'put' or 'patch'
        print(event.path)  # relative to the reference, it seems
        print(event.data)  # new data at /reference/event.path. None if deleted
        notifications = event.data
        if notifications.items() == None:
            return
        else:
            for key, value in notifications.items():
                print()
                notifications_screen.notificationslist.adapter.data.extend([value])

1 Ответ

0 голосов
/ 04 февраля 2020

Если вы используете python3, вы можете объявить value как переменную nonlocal внутри внутренней функции.

См. Python нелокальное ключевое слово

def myfunc1():
  x = "John"  # assign x to some dummy variable to be overwritten
  def myfunc2():
    nonlocal x
    x = "hello"
  myfunc2()
  return x

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