Skip to main content
 首页 » 编程设计

python之为什么我的 Python 代码中会出现 TypeError

2025年05月04日11zengkefu

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 

请您参考如下方法:

两个错误

1) 你的类没有 __init__ 函数。要么添加一个,要么改用它:

decayer = tasks.Decayer() 

2) 您正在尝试将整数计算为 float 的幂,但 ^ 表示 xor 且不能用于 float 。使用 ** 而不是 ^:

y = 2 ** x