저는 방금 파이썬을 배우기 시작했습니다. 파이썬에서 OOP를 테스트하기위한 예제 스크립트를 작성했지만 매우 이상한 일이 발생했습니다. 클래스 메쏘드를 호출 할 때, 파이썬은 주어진 것보다 하나 많은 매개 변수로 함수를 호출합니다.잘못된 매개 변수 수를 가진 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
글쓰기를 시작할 때 두 개가 있었는데, 두 개가 더 발견되었습니다! 다음 나는 편집하고 더 것을 찾아 냈다! :) – bcherry
나는 그것을 고쳤지 만 클래스는 상속 할 필요가 없다. 아마도 우리는 여러 버전의 Python을 사용하고 있습니다. 여기에는 Windows 용 2.6.5가 사용됩니다. – Hussain