작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
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.