2017-02-18 7 views
-5

Pycharm에서 Python 3.5를 사용하고 있습니다. 그리고 저는 2 개의 클래스를 정의하려고했습니다. 첫 번째는 수퍼 클래스, 두 번째는 그 서브 클래스입니다. 코드는 다음과 같습니다 : enter image description hereenter image description here 그리고 문제가 발생합니다 : enter image description here. 문제는 Game 클래스의 p2 (두 번째 그림)입니다.Python에서 super() 사용

그것은 말합니다 :이 검사는 선언 된 매개 변수와 실제 인수 사이의 불일치뿐만 아니라 부정확 한 인수 (예 : 중복 된 명명 된 인수)와 잘못된 인수 순서 간의 불일치를보고합니다. 장식 자도 분석됩니다.

그래서 여기에 무슨 문제가 있습니까? 게임 클래스의 인스턴스를 만들 때

+1

를? – tkausl

+0

'Game' 인스턴스가 – RomanPerekhrest

+0

코드가 ** 텍스트 ** 인 동안 필요한 모든 인수가 전달되었는지 확인하십시오. 이미지가 아닌 게시하십시오. 이제는 문제를 재현하기 위해 복사 할 수 없으며 화면 판독기에 의존하는 사람들은 귀하를 도울 수 없으며 검색 엔진은이를 색인에 추가 할 수 없습니다. –

답변

0

당신은 초기화에 두 개의 변수를 전달해야합니다

game = Game(a, b) 
1

을 그것은 그 파이썬이 제공하는 추적을 제외하고 이상가는 가치가있다 - 문제의 부분은, 당신은하지 않았다 코드에 게시하다. 당신은 예외를 보면, 당신은 참조하십시오

b=Game(a) 

당신이 2 개 인자 기대 게임의 생성자에 단 하나의 인수 (a)에 합격 것을 의미한다 - p1p2을.

또한 super()을 사용할 때 자체 인수를 전달하면 안됩니다. 그래서 대신 :

super().__init__(self, p1, p2) 

당신은 작성해야`B = 게임 (A)`(오류 메시지에서)에 대한 코드가

super().__init__(p1, p2) 
+0

오, 네, 그것은 '자기'문제입니다! –