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

작성자 없음

작성자 정보가 삭제된 글입니다.

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Class(1-3)

코드질문

작성

·

151

1

제가 혼자서 영상 안보고 복습을 하면서 코드를 작성해보니, 마지막 print문이 영상과는 다르게 나왔더라구요. 혹시나 이렇게 작성을 해도 문제가 없는지 궁금합니다.

또한 info와 speak에는 __info__처럼 언더바를 붙이지 않는데, 이유가 있을까요?

class dog:
    species = 'first dog'

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def info(self):
        return f"My name is {self.name}. I'm {self.age} old."

    def speak(self, sounds):
        return f"{self.name} barks {sounds}."

a = dog('SooJin', 25)

print(dog.info(a))

답변 1

1

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 YeonCheol Jang 님

보통 부모함수로부터 상속을 받아 사용하는 메소드는 더블 언더바 형태로 되어 있습니다. __메소드__

나머지는 수업중에 직접 사용하기 위해 만든 메소드는 더블 언더바를 사용하지 않고 지정했다고

생각하시면 됩니다. 경우에 따라 더블 언더바를 사용하셔서 메소드 네이밍을 하셔도 됩니다.

__double_leading_and_trailing_underscore__: "magic" objects or attributes that live in user-controlled namespaces. E.g. __init____import__ or __file__. Never invent such names; only use them as documented.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기