본문 바로가기
Language/Python

파이썬 self는 무슨 의미?

by wakestand 2020. 1. 27.
반응형

파이썬 사용 중 self가 뭔 의미인지 감이 안올텐데

self.name, name은 같은 변수를 지칭하는 것일까?

 

위 예제를 보면 self.name과 name은 다르다

self.name은 메소드 내에서 생성한 변수를 지칭하고

name은 파라미터를 보낸 변수를 말한다

 

여기서 둘다 변수명이 동일하기 때문에

이름이 똑같은 변수의 경우 구분하기 위해서

~위치에서 만들었음을 뜻하는 self를 붙여주는 거시다

 

여기서 self.name에는 앞에 self를 붙여주고

print 시 self.name과 name이 다르게 출력되는 것이 보인다

 

예제에 사용한 코드는 아래와 같다

 

class ClassExample:
    @staticmethod
    def call(self, name):  # 함수
        self.name = "self" + name  # self.name으로 파라미터와 구분
        print("self : " + self.name + " param : " + name)


a = ClassExample()  # 객체화 (ClassExample의 정보를 a에 담음)
a.call(a, "철수")

 

반응형

댓글