img = ImageLib()
init = img.grayscale(file='something.jpg')
img.diff(init=init, file='another.jpg')
它給錯誤說:Python:爲什麼當我明確地給出它兩個時,它至少需要2個參數(1個給出)?
TypeError: diff() takes at least 2 arguments (1 given)
但我給它兩個參數!!!!!爲什麼發生這種情況?
img = ImageLib()
init = img.grayscale(file='something.jpg')
img.diff(init=init, file='another.jpg')
它給錯誤說:Python:爲什麼當我明確地給出它兩個時,它至少需要2個參數(1個給出)?
TypeError: diff() takes at least 2 arguments (1 given)
但我給它兩個參數!!!!!爲什麼發生這種情況?
我猜你的功能簽名有問題。雖然您給了它兩個參數,但回溯實際上意味着函數需要2 位置 參數。也許你的關鍵字參數一個不匹配的位置參數名稱:
>>> def foo(a, b, c='foo'):
... pass
...
>>> foo(a="cat", b="bar")
>>> foo(1, c="bar")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: foo() takes at least 2 arguments (2 given)
從技術上講,它只是2 需要參數。在python3中,你可以有必需的關鍵字(即非位置)參數。看評論。
你可以發佈完整的追溯? – mgilson