2010-12-30 13 views
1
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 

答えて

7

2つのエラー

1)あなたのクラスは__init__機能はありません。どちらか1を追加し、またはその代わりにこれを使用する:あなたはフロートの力に整数を高めるためにしようとしている

decayer = tasks.Decayer() 

2)が、^は、排他的論理和を意味し、山車の上に使用することはできません。 **代わりの^を使用します。

y = 2 ** x 
2

問題が原因decayer = tasks.Decayer(r)コールに思えるとTaskは1を取ることができ__init__メソッドを定義していないのでtasks.Decayerは、引数を取るように設計されていません。

関連する問題