x = 1
y = func(x)
del x
컴퓨터과학이나 다른 언어들에서 변수라는 말을 쓰니까 “파이썬 변수”라고 할 뿐이지; 파이썬에는 변수라기보단 이름과 객체가 있다.
객체
파이썬은 모든 데이터를 객체로서 다룬다.
이름(식별자)
코드에서 그 객체를 쓰려고 부르는 이름
이름과 연결
파이썬에서 변수 x란; x에 해당하는 공간이 메모리에 주어지고 거기에 값이 저장되는 게 아니라; 이름공간 안에 x가 있고 x가 특정 객체를 가리키는 거다.
이름과 연결에 대한 자세한 내용은 여기innerLink_42이름은 아무 객체나 가리킬 수 있으므로; 결국 언뜻 마치 변수에 자료형이 없는 것처럼 보일 수도 있다. (x=1 했다가 x='hello' 해도 됨) 그러나 객체에는 자료형 즉 클래스가 있는 게 맞다. 당연한 얘기지만; 컴퓨터에 자료를 저장했는데 어떤 자료를 저장한 건지는 알아야 하니까.
이름 짓는 법
- a-z, A-Z, 0-9, ‘_’, ASCII 범위 밖 문자들(그래서 한글도 됨)(파이썬 3.0)로 구성
- 첫글자는 숫자 말고
- 대소문자 구별
- 길이 제한 없음
- 예약어(if, for, True 등)와 같은 이름 금지
식별자의 예약 영역
이름 앞뒤부분의 ‘_’으로써 의미 부여
- __어쩌구__
- 파이썬 시스템에서 쓰는 이름
- _어쩌구
- import 되지 않는다
- _
- match문에서; 모든 패턴과 매칭된다.(default같이)
- 대화형 모드에서; 가장 최근에 나온 결과값이다.(내장이름)
대입
선언문 따로 없이 대입으로 시작해서 변수를 쓰면 된다.
대입문
대상 = 표현식
x = 1
y = func(x)
a, b = 10, 20
list1 = [100, 200, 'wow']
언패킹
대입표현식
여기 대입표현식 페이지del문
이름을 제거한다. 오른쪽부터 객체 삭제는 아니다. 해당 객체를 참조하는 이름이 하나 줄어드는 것이다. 해당 객체를 더이상 참조할 수 없게 되면 자동으로 쓰레기수집(garbage collect)된다.
del a, b, c
del a
728x90