[Python] 파이썬의 변수
파이썬에서는 데이터, 함수, 클래스, 모듈, 패키지 등을 모두 객체(Object)로 취급한다.
객체는 자료형(data type)을 가지며 메모리(저장 공간)를 차지한다.
-
파이썬의 이런 특징 때문에 파이썬의 변수는 값을 갖지 않는다는 특징이 있다.
-
변수는 객체를 참조하는 객체에 연결된 이름에 불과하다.
-
모드 객체는 메모리를 차지하고, 자료형뿐만 아니라 식별 번호(identity)를 가진다.
-
e.g)
id()
함수는 객체의 식별 번호를 반환n = 17
이 값을 복사하여 대입하지 않는다.- 파이썬의 대입 연산자는 값을 복사하지 않는다.
- 값 17의 int형 객체를 참조하는 n이라는 이름을 결합(bind)한다. 그러므로 17의 식별 번호와 n의 식별 번호는 같다.
만약 n의 값을 다른 17이 아닌 다른 값으로 갱신하면 새로운 값을 갖는 객체가 생성되고, 그 값을 참조한다. 그리고 n의 식별 번호는 갱신된다.