• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

2. 특수 메소드/ 3) 특수 메소드를 이용한 사례에 대해서

22.04.04 14:22 작성 조회수 90

0

class Book:
    def __init__(self, title, author, pages):
        self.title = title
        self.author = author
        self.pages = pages
    def __str__(self):
        return f"제목 : {self.title}, 저자 : {self.author}, 페이지 : {self.pages}"
    def len(self):
        return self.pages

book = Book("Data Structure", "Chun", 650)
print(book)
print(len(book))
 

위의 코드로 출력시

>>> TypeError: object of type 'Book' has no len()

위의 오류가 출력되는데

 

저의 경우에는 해당 오류 코드를

 

print(book.len())으로 변경하여 출력하였는데

이렇게 하는게 맞는지 궁금하여 글을 한번 남겨봅니다.

답변 1

답변을 작성해보세요.

0

Kwanyong Damon Jo님의 프로필

Kwanyong Damon Jo

2022.04.05

네 맞습니다. instance 인 book의 len() 함수를 불러오려면 위와같이 작성하시면 됩니다.

 

참고로 내장함수 len()은 아래와 같이 사용하시면 됩니다.

listA = [1,2,3,4,5]
print(len(listA))

list의 길이를 나타낼떄