为什么我的Python代码中有TypeError?

TIM*_*MEX 1 python oop traceback

from celery.task import Task
class Decayer(Task):

    def calc_decay_value(self, x):
        y = (1.0/(2^x))
        return y

    def calc_decay_time(self, x):
        y  = 2^x
        return y

    def run(self, d, **kwargs):

        #do stuff.

        return 0


>>> decayer = tasks.Decayer(r)



Traceback (most recent call last):
  File "scanDecay.py", line 31, in <module>
    decayer = tasks.Decayer(r)
TypeError: object.__new__() takes no parameters
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

两个错误

1)你的班级没有__init__功能.添加一个,或使用此代替:

decayer = tasks.Decayer()
Run Code Online (Sandbox Code Playgroud)

2)你试图将一个整数提升到浮点数的幂,但是^意味着xor并且不能用于浮点数.使用**而不是^:

y = 2 ** x
Run Code Online (Sandbox Code Playgroud)