未结合方法myFunction()必须用工具实例作为第一个参数调用(而什么都不是)



当我试图从课程中调用我的功能时,此错误引起了。这是我的班级:

class Tools:
    def PrintException(self):
        # Do something
        return 'ok'

view.py:

from tools import Tools
def err(request):
    a = 10
    b = 0
    msg = ""
    try:
        print a / b
    except Exception,ex:
        c = Tools
    return HttpResponse(Tools.PrintException())

我试图搜索并找到了许多有关此错误的文章,但我认为它们都不是我的问题!
必须将Unbound方法与实例一起称为第一个参数(而什么都没有)
Unbound方法F()必须用Fibo_实例称为第一个参数(改为获得classObj实例)

您分配给c的是类,而不是类的实例。您应该这样做:

c = Tools()

此外,您应该在实例上调用该方法:

def err(request):
    a = 10
    b = 0
    msg = ""
    try:
        print a / b
    except Exception,ex:
        c = Tools()
        return HttpResponse(c.PrintException())

请注意,我已经更改了凹痕,因此return语句仅在异常上执行。这是我想到的唯一有意义的方法 - 目前尚不清楚您试图通过Tools类实现什么。这个名称太通用了 - 它没有任何有关此类目的的信息。

在没有类实例的情况下使用您的方法,您可以将类方法装饰附加类似:

class Tool:
    @classmethod
    def PrintException(cls):
        return 'ok'

可以使用:

>>> Tool.PrintException()
'ok'
>>> 

最新更新