시작하기 전에 기초적인 궁금점이 생겨서 연락드립니다!

18 views
Skip to first unread message

RED

unread,
Jan 20, 2023, 1:45:10 AM1/20/23
to 머신러닝/딥러닝 도서 Q&A

문득 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에 값을 지정하는 메서드나 다른 방법이 있는건지 궁금합니다.


질문 읽어주셔서 감사드립니다!


Haesun Park

unread,
Jan 21, 2023, 6:08:21 AM1/21/23
to RED, 머신러닝/딥러닝 도서 Q&A
안녕하세요. 박해선입니다.
self는 객체 자기 자신을 가리키며 다른 값을 대입할 수 없습니다.
감사합니다.

2023년 1월 20일 (금) 오후 3:45, RED <applea...@gmail.com>님이 작성:
--
이 메일은 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을(를) 방문하세요.
Reply all
Reply to author
Forward
0 new messages