강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

전설의 요술램프님의 프로필 이미지
전설의 요술램프

작성한 질문수

타입 파이썬! 올바른 class 사용법과 객체지향 프로그래밍

파이썬의 강력한 기능, 매직 메소드 (magic method)

call method 관련 질문입니다!

작성

·

188

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서
 
 
왜 이 그림에서 callable(Siri) 는 True인데,
 
callable(Siri(Robot))은 False인가요?
 
읽어주셔서 감사합니다!
 
 

퀴즈

객체 지향 프로그래밍(OOP)의 주요 목표는 무엇일까요?

코드 줄 수를 최소화하는 것

실제 세계의 사물이나 개념을 프로그램으로 모델링하는 것

데이터베이스 관리 시스템을 효율화하는 것

컴파일 속도를 극대화하는 것

답변 1

1

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요!

callable 함수는 인자값에 들어간 객체가 호출 가능한지, 불가능한지를 판단할때 사용되는 메서드입니다.

callable(print) == True

callable(print()) == False

위와 마찬가지로 Siri는 인스턴스를 찍어낼때 siri = Siri( ) 이런식으로 호출을 하지만 Siri(Robot)은 호출하는 코드가 아니라 상속을 하는 코드이므로 호출이 불가능하여 False가 찍히는 겁니다!

쉽게 판단하면 해당 인자값에 "( )"가 들어갈 수 있는지로 판단할 수 있습니다.

예를들어, Siri( ) 는 가능하지만 Siri(Robot)( ) 는 불가능합니다.

도움이 되었을까요?

전설의 요술램프님의 프로필 이미지
전설의 요술램프

작성한 질문수

질문하기