【问题标题】:How come there is a TypeError in my Python code?为什么我的 Python 代码中有 TypeError?
【发布时间】:2010-12-30 10:10:32
【问题描述】:
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

【问题讨论】:

    标签: python oop traceback


    【解决方案1】:

    两个错误

    1) 你的班级没有__init__ 函数。要么加一个,要么改用这个:

    decayer = tasks.Decayer()
    

    2) 您试图将整数提高到浮点数的幂,但^ 表示异或,不能用于浮点数。使用** 而不是^

    y = 2 ** x
    

    【讨论】:

      【解决方案2】:

      问题似乎是由于decayer = tasks.Decayer(r) 调用和任务造成的。Decayer 并非旨在接受参数,因为Task 没有定义可以接受参数的__init__ 方法。

      【讨论】:

        猜你喜欢
        • 2021-07-17
        • 2022-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 1970-01-01
        相关资源
        最近更新 更多