Python 기초

파이썬에서의 변수의 종류

이번 장에서 클래스 안에 선언되는 인스턴스 변수를 학습하였습니다. 우리가 알고 있는 변수의 종류가 이제 3가지가 되었습니다. 이것들을 잘 구분하여야 합니다.

  • 지역 변수 - 함수 안에서 선언되는 변수
  • 전역 변수 - 함수 외부에서 선언되는 변수
  • 인스턴스 변수 - 클래스 안에서 선언된 변수, 앞에 self. 가 붙는다.

 

Bag 이라는 클래스를 아래와 같의 정의하였습니다. 여기서 data 변수가 인스턴스 변수입니다.

인스턴스 변수를 클래스 안에서 사용하려면 항상 앞에 self. 를 붙여야 합니다. self. 를 붙이지 않으면 파이썬은 지역 변수를 새로 생성할 것입니다.

class Bag:
    def __init__(self):
        self.data = []

    def add(self, x):
        self.data.append(x)

    def add2(self, x):
        self.add(x)
        self.add(x)

 

메소드도 마찬가지입니다. 클래스 안에서 메소드를 호출하려면 항상 앞에 self. 를 붙여야 합니다.

add() 메소드를 클래스 안에서 사용하려면 self.add()라고 하여야 파이썬이 올바르게 연결합니다.