문득 list처럼 self에 값 할당을 어떻게 해야할지 궁금점이 생겼습니다.
아래처럼 리스트는 self를 통해 객체의 값에 접근할 수 있는데요.
class Z(list):
def add(self):
return self + [4,5,6]
a = Z([1,2,3])
print(a.add())
>>> [1, 2, 3, 4, 5, 6]
아래처럼 제가 만든 클래스는 비슷한 효과는 낼 수 있지만,
self 자체에 값을 할당하고 그 값을 조작하는 것은 어떻게 하는 것인지 모르겠습니다. ㅠㅠ
class Y():
def __init__(self, x):
self.x = x
def __str__(self):
return str(self.x)
def add(self, x):
return self.x + x
a = Y(1)
print(a.add(2))
>>> 3
제가 이해한 바로는 self는 인스턴스 생성시 약속된 주소값이고,
따라서 __init__에서 정의를 어찌어찌 해야하는 것 같긴한데..
그렇다고 self = x을 하면 약속된 주소값이 변경되니.. 난감합니다.
self에 값을 지정하는 메서드나 다른 방법이 있는건지 궁금합니다.
질문 읽어주셔서 감사드립니다!
--
이 메일은 Google 그룹스 '머신러닝/딥러닝 도서 Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ml-dl-book-qn...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ml-dl-book-qna/b37092d9-e455-42d8-8611-9f0695d38bd8n%40googlegroups.com을(를) 방문하세요.