我剛剛開始學習python。我寫了一個示例腳本來測試Python中的OOP,但發生了一些非常奇怪的事情。當我調用一個類方法時,Python正在用比給定的多一個參數調用該函數。Python調用具有錯誤參數數量的類方法
下面是代碼:
1. class Bar:
2. num1,num2 = 0,0
3. def __init__(num1,num2):
4. num1,num2 = num1,num2
5. def foo():
6. if num1 > num2:
7. print num1,'is greater than ',num2,'!'
8. elif num1 is num2:
9. print num1,' is equal to ',num2,'!'
10. else:
11. print num1,' is less than ',num2,'!'
12. a,b = 42,84
13. t = Bar(a,b)
14. t.foo
15.
16. t.num1 = t.num1^t.num2
17. t.num2 = t.num2^t.num1
18. t.num1 = t.num1^t.num2
19.
20. t.foo
和錯誤消息我得到:
python test.py
Traceback (most recent call last):
File "test.py", line 13, in
t = Bar(a,b)
TypeError: init() takes exactly 2 arguments (3 given)
誰能幫助?
在此先感謝
一對夫婦是兩個;-)然而,所有4個點都是正確的! +1! – mjv 2010-04-13 23:09:09
當我開始寫作時,有兩個,然後我發現了兩個!然後我編輯並找到了一個! :) – bcherry 2010-04-13 23:13:31
我修正了它,但它看起來類不需要繼承。也許我們在這裏使用不同版本的Python 2.6.5 for windows。 – Hussain 2010-04-13 23:23:03