2016-11-19 1 views
1

Python curses에서 curses.newwin() 함수를 사용하여 새 창 객체를 만들 수 있습니다. newwin 함수에서 인스턴스화 된 객체의 클래스를 확장하려면 어떻게합니까?Python curses 모듈에서 클래스를 확장하는 방법

나는 dir(curses)을 시도했지만 확장 할 수있는 명백한 클래스 이름을 찾을 수 없습니다.

답변

1

curses.newwin은 확장 유형을 반환합니다.

아쉽게도 확장 유형의 속성을 설정할 수 없습니다. 그것은`저주를 재정의처럼 그것이 보이지 않지만 아이디어에 대한

orig_newwin = curses.newwin 
def newwin(*args): 
    win = orig_newwin(*args) 
    return Wrapper(win) 
curses.newwin = newwin 
+1

감사 :

해결 방법으로, 원래 curses.newwin(..)의 반환 값을 래핑하는 새 클래스의 인스턴스를 반환 curses.newwin을 다시 정의 할 수 있습니다. newwin', 그리고 당신은 * args를 중계하지 않아야합니까? –

+1

@HolyMackerel, 죄송합니다, 마지막 라인을 놓쳤습니다. 라인을 포함하고'* args'를 중계하기위한 답을 업데이트하십시오. – falsetru

+0

쿨, 고마워요. :) –