我有一類和構造,看起來像這樣:Python的詢問3個參數,當我經過2個2個參數,當我經過3
def init(log, edge):
if edge:
return Helper(log, edge)
return BookableProduct(log)
class BookableProduct():
# Add helper to property bag
def __init__(self, log, Kernel):
self.log = log
self.Kernel = Kernel
我剛添加的內核參數,並將它casues錯誤。
如果我嘗試調用它像這樣:
import BookableProduct
log = PyLogger.get(edge.Controller.Kernel)
BookableProduct.init(log, edge)
我得到的錯誤:
2016-01-04 15:12:33,422 [38] ERROR Panagora.WebCore.Scripting.DefaultRuntimeExtensionsManager - Unable to run script C:\dev\..\Extensions\Global.py
Microsoft.Scripting.ArgumentTypeException: __init__() takes exactly 3 arguments (2 given)
但是,如果我嘗試這樣運行:
import BookableProduct
log = PyLogger.get(edge.Controller.Kernel)
BookableProduct.init(log, edge, edge.Controller.Kernel)
我得到以下錯誤:
2016-01-04 15:12:20,117 [36] ERROR Panagora.WebCore.Scripting.DefaultRuntimeExtensionsManager - Unable to run script C:\dev\git-sites\..\Extensions\Global.py
Microsoft.Scripting.ArgumentTypeException: init() takes exactly 2 arguments (3 given)
那麼'init'定義在哪裏?你只顯示'__init__'。 *它們不是同一件事*。 'init'似乎調用'__init__',並且它不正確。 –
'init'是'BookableProduct'模塊中定義的函數嗎?如果是這樣,該功能的來源是什麼? – vaultah
已更新的問題。 – Himmators