🧐 🤔 그거 어떻게 쓰더라 🙄 😙

파이썬 변수

2022. 7. 31. Evergood Kim이가 씀
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']

연결연산이다.

언패킹

대입표현식

여기 대입표현식 페이지innerLink_38

del문

이름을 제거한다. 오른쪽부터 객체 삭제는 아니다. 해당 객체를 참조하는 이름이 하나 줄어드는 것이다. 해당 객체를 더이상 참조할 수 없게 되면 자동으로 쓰레기수집(garbage collect)된다.

del a, b, c
del a
728x90