TypeError : module .__ init __ ()는 최대 2 개의 인수를받습니다 (3 개 제공)
라는 파일에 클래스를 정의했습니다 Object.py
. 다른 파일 에서이 클래스에서 상속하려고하면 생성자를 호출하면 예외가 발생합니다.
TypeError: module.__init__() takes at most 2 arguments (3 given)
이것은 내 코드입니다.
import Object
class Visitor(Object):
pass
instance = Visitor() # this line throws the exception
내가 뭘 잘못하고 있죠?
Object
클래스가 아닌 모듈 이기 때문에 오류가 발생 합니다. 그래서 당신의 상속은 까다 롭습니다.
수입 명세서를 다음과 같이 변경하십시오.
from Object import ClassName
클래스 정의 :
class Visitor(ClassName):
또는
클래스 정의를 다음과 같이 변경하십시오.
class Visitor(Object.ClassName):
etc
Python 3.6.1에서 다음을 수행 할 수도 있습니다.
from Object import Object as Parent
클래스 정의 :
class Visitor(Parent):
@Mickey Perlstein의 답변과 그의 3 시간의 탐정 작업 후에도 이것을 내 자신의 혼란에 적용하는 데 몇 분이 더 걸렸습니다. 다른 사람이 나와 같고 조금 더 도움이 필요한 경우 내 상황에서 무슨 일이 있었는지 여기에 있습니다.
- 응답은 모듈입니다
- 응답은 응답 모듈 내의 기본 클래스입니다
- GeoJsonResponse는 Response에서 파생 된 새로운 클래스입니다.
초기 GeoJsonResponse 클래스 :
from pyexample.responses import Response
class GeoJsonResponse(Response):
def __init__(self, geo_json_data):
좋아 보인다. 디버깅을 시도 할 때까지 아무런 문제가 없습니다. 다음과 같은 모호한 오류 메시지가 나타납니다.
pyexample.responses에서 가져 오기 GeoJsonResponse .. \ pyexample \ responses \ GeoJsonResponse.py : 12 : (모듈) 클래스 GeoJsonResponse (Response) :
E TypeError : module ()은 최대 2 개의 인수를받습니다 (3 개 제공)
=================================== 오류 =============== ======================
___________________ 테스트 /test_geojson.py 수집 오류 ____________________
pyexample.responses에서 test_geojson.py:2 : in (모듈) import GeoJsonResponse .. \ pyexample \ responses \ GeoJsonResponse.py : 12 : in (모듈)
GeoJsonResponse (Response) 클래스 : E TypeError : module ()은 최대 2 개의 인수를받습니다 (3 개 제공)
오류 : 찾을 수 없음 : \ PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response
C : \ Python37 \ lib \ site-packages \ aenum__init __. py : 163
([] 중 하나에 'PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response'없음)
오류는 올바른 방향으로 나를 지적하기 위해 최선을 다하고 있었고 @Mickey Perlstein의 대답은 끝났습니다. 내 상황에서 모든 것을 하나로 묶는 데 잠시 시간이 걸렸습니다.
모듈 을 가져오고있었습니다 .
from pyexample.responses import Response
클래스를 가져와야 할 때 :
from pyexample.responses.Response import Response
이것이 누군가를 돕기를 바랍니다. (내 방어에서는 여전히 초기 단계입니다.)
참고 URL : https://stackoverflow.com/questions/14583761/typeerror-module-init-takes-at-most-2-arguments-3-given
'development' 카테고리의 다른 글
누군가 Javascript에서 "디 바운스"기능을 설명 할 수 있습니까? (0) | 2020.07.04 |
---|---|
자식 서브 모듈 추적 최신 (0) | 2020.07.04 |
신속하게 배열 유형 및 기능 매개 변수로 프로토콜 사용 (0) | 2020.07.03 |
Maven을 사용할 때 더 엄격한 Java 8 Javadoc을 해결하는 방법 (0) | 2020.07.03 |
“char s [static 10]”과 같은 함수의 배열 매개 변수에서 static 키워드의 목적은 무엇입니까? (0) | 2020.07.03 |