2014-11-15 3 views
-3

일부 클래스의 인스턴스를 만들 때 특정 수의 인수를 사용하려고합니다. 내가Python에서 객체의 빈 초기화를 비움

class someClass: 
    def __init__(self, arg1, arg2..): 
     # whatever 

를 선언 할 경우에도, here를 읽은 내용에서 여전히 같은 someClass의 인스턴스를 possile 것 :

a = someClass() 

나는 것을 집행 그래서 내 유일한 생각 파이썬에 아주 새로운 오전 빈 생성자를 오버로드하고 그것에 예외를 던지는 것입니다. 그러나 나는 이미 컴파일 타임에 그것을 시행하는 것을 선호 할 것이다. 그게 가능하니?

+1

정확히 이렇게 클래스를 초기화 할 수 있다고 말합니까? 코드를 먼저 실행하십시오 ('self'는 메소드를 호출 할 때 파이썬이 추가하는 특별한 위치 인수입니다). –

+0

실행되지 않습니다. 필요한 위치 지정 인수를 전달하지 않고'TypeError'를 얻습니다. –

+0

그래서 __ init __을 정의하자마자 자동으로 원하는 것을 적용합니다. 편집 : 나는 그것을 실행하려고했지만 상속을 사용하고 거기에 또 다른 오류가있어서 typeerror가 발생했습니다. 나는 지금 일하고 있고, 당신이 진술 한대로 행동한다. 나의 나쁜, 조금 조기에 물었다. – Arne

답변

0

시도 할 때 표시되는 것처럼 __init__ 메서드에 필수 인수가있는 경우 해당 인수를 전달하지 않고는 개체를 만들 수 없습니다. 하지만 호출자가 뭔가를하도록 "강요"하는 것은 파이썬 그레인에 대해 진행될 수 있습니다. 종종 파이썬 만트라는 "API를 문서화 한 다음, 호출자가 호출자가 수행 할 작업을 수행하게합니다."

관련 문제