Python 如何调用此方法进行调试?

Python 如何调用此方法进行调试?,python,python-2.7,debugging,Python,Python 2.7,Debugging,我正试图从这个类中调用一个方法。调用check_config()方法来打印c的值。 python新手和一些调试建议将非常有用 已尝试BirdChecker.config_check(),但出现错误: TypeError:必须使用BirdChecker实例作为第一个参数调用unbound方法check_config()(没有得到任何结果) 我希望从方法config\u check打印c的值您的方法check\u config是一个实例方法,这意味着需要在类BirdChecker的实例上调用它。尝试

我正试图从这个类中调用一个方法。调用check_config()方法来打印c的值。 python新手和一些调试建议将非常有用

已尝试BirdChecker.config_check(),但出现错误: TypeError:必须使用BirdChecker实例作为第一个参数调用unbound方法check_config()(没有得到任何结果)


我希望从方法config\u check打印c的值您的方法
check\u config
是一个实例方法,这意味着需要在类
BirdChecker
的实例上调用它。尝试:

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

实例上的TLDR与静态方法的区别在于,实例方法必须在类的实例上调用,而静态方法可以在类本身上调用。经验法则是仅当需要访问特定于类实例的数据时才使用实例方法。由于您需要访问
\u send\u query
控制\u套接字
,因此它是一种实例方法是有意义的!但是,如果
BIRD\u CONTROL\u SOCKET
和/或
ignore
在不同的实例中永远不会有差异,您可能需要重新考虑。

谢谢。编辑代码后,除check_config()之外的所有其他方法都在工作。请看一下_config_check()和_config()。我看不到原始源代码了,你删除了吗?当前的代码段与原始代码段有很大不同,因此你可能想问一个新问题。也就是说,
exit
将在打印任何内容之前退出。您可能需要向下移动该命令。