Python3 클래스에 함수 전달은 불가능한가요?

조회수 372회
class PrintFuncNum:
    def __init__(self, func):
        self.func = func

    def check(self,  test):
        answer = self.func(test)

test1 = PrintFuncNum(func) 
# 이 안에 check 부분의 answer 에게 test * 3을 넣어준다던지
# 아니면 + 3 을 넣어준다던지 사용자가 스스로 지정해서 클래스를 만들고 싶습니다.

위와 같이 원하는 코드에서 func 인자를 직접 만들어서 인스턴스를 만들고 싶습니다.
혹시 방법이 있을까요??

1 답변

  • 아래 코드 참고하세요.

    class PrintFuncNum:
        def __init__(self, func):
            self.func = func
            self.answer = 10
    
        def check(self,  test):
            self.answer = self.func(self.answer, test)
            print(self.answer)
    
    def add(a,b):
        return a+b
    
    def multiply(a,b):
        return a*b
    
    
    test1 = PrintFuncNum(add)
    test1.check(3)
    
    test2 = PrintFuncNum(multiply)
    test2.check(3)
    
    • 결과

    이미지

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)