Как мне вызвать этот метод для отладки? - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь вызвать метод из этого класса.Вызов метода check_config () для вывода значения c.Новичок в python и некоторые советы по отладке были бы хороши.

Попробовал BirdChecker.config_check (), но получил ошибку: TypeError: необязательный метод check_config () должен быть вызван с экземпляром BirdChecker в качестве первого аргумента (вместо этого ничего не получил)

Я ожидаю напечатать значение c из метода config_check

1 Ответ

1 голос
/ 11 апреля 2019

Ваш метод check_config является методом экземпляра, что означает, что его необходимо вызывать для экземпляра вашего класса BirdChecker.Попробуйте:

bird_checker = BirdChecker(control_socket=BIRD_CONTROL_SOCKET, ignore=True)
bird_checker.config_check()

TLDR для экземпляра против статических методов заключается в том, что методы экземпляра должны вызываться для экземпляра класса, тогда как статический метод может вызываться для самого класса.Основное правило - использовать методы экземпляра только тогда, когда вам нужен доступ к данным, относящимся к экземпляру класса.Поскольку вам нужен доступ к control_socket для _send_query, имеет смысл, что это метод экземпляра!Однако, если BIRD_CONTROL_SOCKET и / или ignore никогда не будут отличаться от экземпляра к экземпляру, вы можете пересмотреть.

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