파이썬 관련 개념 질문 1. dir 로 나오는 목록의 의미 2.str, int 가 class 라는 말의 의미

조회수 922회

안녕하세요, 파이썬 입문자 입니다.

최근에 여러 문제를 통해 코딩을 하며 파이썬 개념도 공부하는 중인데, 그 와중에 궁금점이 있어서 이렇게 질문을 남깁니다. 다소 rough한 질문이어서 죄송합니다. 하지만 입문자 입장에서는 너무 궁금합니다.

Q1. dir 함수

이미지

예를 들어 어떤 str type에 대하여 dir 함수를 적용하면 다음과 같이 목록이 나옵니다.

여기서 목록들이 정확히 무엇을 뜻하는지 궁금합니다. (구글링을 통해 관련 메써드라는 것은 어느 정도 알겠는데 느낌적으로밖에만 와닿지 않아서 조금 더 자세한 설명을 듣고 싶습니다.)

또한, '__이 앞뒤로 붙여진 것'과 '아닌 것'의 차이점이 무엇인지 정확하게 궁금합니다.

Q2.

type함수를 입력하면 class : str 이라고 뜨는데, str이나 int도 엄연히 보면 class라고 합니다. 입문자의 입장에서 그냥 정수, 문자열이라는 것 밖에 모르겠지만, 이것들이 class라고 하는게 무슨 뜻인지 와닿지 않기에 질문 드립니다.

1 답변

  • A1: 정확히는, "메써드"만은 아니고, 그 객체/클래스가 가진 모든 속성(attributes)을 반환하는 거라고 하네요. 일반적으로 말해서 메소드는 클래스가 갖는 속성의 일종이고요. 더블 언더스코어(__)에 대해서는... 다른 전문가가 달아 놓은 답변글을 올리고 턴을 마치겠습니다.

    A2: "hello"를, 그냥 그야말로 문자열이라고 생각하기보다는, 문자열을 표현하는 기능을 가진 (그리고 그밖의 기능은 거의 갖지 않는) 어떤 '템플릿'에 'hello'라는 값을 넣어 놓은 상태라고 생각하시면 됩니다.

    이렇게 생각해볼 수 있을까요. 차를 몰고 가다가 길가에 "어린이 보호구역"이라고 써 있는 것을 봤다고 합시다. 우리가 본 것은 어린이 보호구역이라는 글씨 그 자체일까요? 엄밀히 말하면, 우리는 그런 글씨를 써놓은 표지판을 본 거겠지요. 어떤 표지판은 처음 세울 때부터 is_glowing_in_night = True 같은 변수가 지정된 상태로 세워질 수도 있겠고, 어떤 표지판은 세워진 다음 .watchDrivers() 같은 동작을 하게 할 수도 있겠지만, 그 어린이 보호구역 표지판은 그런 속성 없이 그냥 '여기는 어린이 보호 구역이다'라는 메시지를 하나 담아서 누구에게나 노출시켜 주는 기능만 하는 표지판인 것이지요. 이런 식으로, "str 클래스"라는 건, 클래스는 클래스인데, 별다른 기능이나 특징 없이, 그저 특정 문자열을 누구에게나 노출시키는 기능만 하는 클래스다 이겁니다.

    여기까지의 내용에 부정확한 내용이 있을 수 있습니다. 참고하세요.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)