错误:调用未绑定方法“method name”时必须使用“Class name”实例作为第一个参数(改为使用get classobj instance)

2024-10-02 12:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望你们能帮我。 我从以下代码中得到了这个错误:

Traceback (most recent call last):
  File "C:\Python27\Lib\idlelib\Tarea5.py", line 60, in <module>
    bg.addBandit(b)
TypeError: unbound method addBandit() must be called with BanditGroup instance as first argument (got classobj instance instead)

代码:

^{pr2}$

如果有人能告诉我这里发生了什么事,我将不胜感激。我大约2个月前开始学习Python2.7。 谢谢!在


Tags: instance代码pymostlib错误callfile
3条回答

是的,当您创建Bandit和BanditGroup类的实例时,可能需要parens。否则,您将为变量分配一个类,而不是一个类的实例。在

例如:bg=BanditGroup()

问题是addBandit需要使用BanditGroup的实例。在类名后面添加(...)将创建一个:

^{1}$

现在,bg指向类本身,而不是它的实例。在

这里需要使用Bandit完成相同的操作:

^{pr2}$

注意:...表示传入适当的参数。您使用一个必需的a参数生成了BanditGroup.__init__,而{}则使用了必需的power和{}参数。因为我不知道你想要这些是什么,所以我把它们排除在外了。在

尝试将代码更改为(注意类实例化周围的括号):

^{1}$

相关问题 更多 >

    热门问题