파이썬 변수 설명

2021. 12. 3. 14:10·개발/Python

파이썬에서 변수란 값을 저장하는 공간을 가리키는 레퍼런스입니다. 다음과 같이 a라는 변수가 메모리에 저장된 1을 가리키도록 할 수 있습니다.

a = 1

이렇게 하면 메모리에 값 1을 갖는 객체가 생성되며, a는 메모리가 저장된 위치를 가리키는 레퍼런스가 됩니다.

 

이때, 1은 단순한 상수가 아닌 정수형 객체에 해당합니다. 다음의 경우에서 a와 b라는 서로 다른 변수는 동일한 객체를 가리키고 있습니다. 즉, 특정 값을 갖는 객체가 메모리에 생성되어 있는 것입니다.

a = 1
b = 1
a is b
# True

다음과 같이 리스트를 가리키는 변수가 있다고 해보겠습니다.

a = [1, 2, 3]

b라는 변수가 a와 동일한 객체를 가리키게 하려면 b = a를 활용할 수 있습니다.

b = a
b
# [1, 2, 3]
a is b
# True

이러한 상황에서 a에 할당된 값을 업데이트하면 b가 가리키는 값도 업데이트됩니다. 이는 두 변수가 동일한 객체를 가리키고 있기 때문입니다.

a[2] = 4
a
# [1, 2, 4]
b
# [1, 2, 4]
a is b
# True

만약, 동일한 값을 갖되 이를 다른 객체에 할당하고자 할 때는 다음과 같이 [:]를 활용할 수 있습니다.

a = [1, 2, 3]
b = a[:]

a
# [1, 2, 3]
b
# [1, 2, 3]
a is b
# False

b = a[:]은 a의 값을 모두 복사하여 b에 새롭게 할당하는 것입니다. 이제 a의 값을 업데이트해도 b의 값은 변경되지 않습니다. 서로 다른 객체를 가리키고 있기 때문입니다.

a[2] = 4

a
# [1, 2, 4]
b
# [1, 2, 3]

이상으로 변수란 값을 저장하는 메모리 공간을 가리키는 레퍼런스임을 확인해봤는데요.

 

다음과 같이 del() 함수를 사용하면, 이를 삭제할 수 있습니다.

a = [1, 2, 3]
del(a)

a
# NameError: name 'a' is not defined

'개발 > Python' 카테고리의 다른 글

파이썬 조건문 설명: if, else, elif  (0) 2021.12.06
파이썬 집합 자료형 설명  (0) 2021.12.02
파이썬 딕셔너리 설명: 키, 값, 함수  (0) 2021.12.01
'개발/Python' 카테고리의 다른 글
  • 파이썬 불리언 설명
  • 파이썬 조건문 설명: if, else, elif
  • 파이썬 집합 자료형 설명
  • 파이썬 딕셔너리 설명: 키, 값, 함수
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발 N
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git N
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
파이썬 변수 설명
상단으로

티스토리툴바