본문 바로가기
Python/02. 파이썬의 기초, 자료형

02-8 자료형의 값을 저장하는 공간, 변수

by gamdong2 2024. 6. 27.
>>> a = [1, 2, 3]
>>> b = a[:]   #리스트 a의 처음~끝 요소 슬라이싱
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 2, 3]   #리스트 a의 값을 바꾸더라도 리스트 b에 영향x

📖 변수란?

  • 변수의 형태 : '변수 이름 = 변수에 저장할 값'
  • at 파이썬, 변수 ≒ 객체
  • 객체 : 자료형의 데이터(값)
다음의 a, b, c 같은 예를 '변수'라 함
>>> a = 1
>>> b = "python"
>>> c = [1, 2, 3]
[Ex] a = [1, 2, 3]
# [1, 2, 3] 값을 가지는 리스트 데이터(객체)가 자동으로 메모리에 생성됨
# 변수 a는 [1, 2, 3] 리스트가 저자오딘 메모리의 주소를 가리킴

>>> a = [1, 2, 3]
>>> id(a)    #파이썬 내장 함수 id : 변수가 가리키는 객체의 주소 값을 리턴
4303029896     #변수 a가 가리키는 [1, 2, 3] 리스트의 주소 값

 

 

1. 리스트를 복사하고자 할 때

1) b 변수에 a 변수를 대입

>>> a = [1, 2, 3]
>>> b = a   #b 변수에 a 변수를 대입

>>> id(a)
4303029896
>>> id(b)
4303029896   #a 주소 값 = b 주소 값

>>> a is b
True   #a와 b가 가리키는 객체가 같음

>>> a[1] = 4   #리스트 a의 두 번째 요소를 값 4로 바꿈
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]   #b도 똑같이 바뀜

 

2) b 변수에 a 변수를 대입 BUT a와 다른 주소 갖게하기

① [:] 이용 : 리스트 전체를 가리키는 [:]을 사용해 복사

>>> a = [1, 2, 3]
>>> b = a[:]   #리스트 a의 처음~끝 요소 슬라이싱
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 2, 3]   #리스트 a의 값을 바꾸더라도 리스트 b에 영향x

 

② copy 모듈 이용

=====copy 모듈 이용하기=====
>>> from copy import copy   #copy 모듈에 있는 copy 함수 import
>>> a = [1, 2, 3]
>>> b = copy(a)   #copy 함수 사용 #'b = copy(a)' 는 'b = a[:]'과 동일
>>> b is a
False   #b와 a가 가리키는 객체는 서로 다름

=====copy 함수 사용하기=====
>>> a = [1, 2, 3]
>>> b = a.copy()   #파이썬 리스트의 내장 함수 copy 사용
>>> b is a
False   #copy 모듈과 동일한 결과

 

 

 

2. 변수를 만드는 여러 가지 방법

1) 튜플로 a, b에 값을 대입

>>> a, b = ('python', 'life')

위의 방법은 다음 예문과 완전히 동일
>>> (a, b) = 'python', 'life'
#튜플은 괄호 생략 가능

 

2) 리스트로 변수 생성

>>> [a, b] = ['python', 'life']

 

3) 여러 개의 변수에 같은 값 대입

>>> a = b = 'python'

=====이 방법을 사용, 두 변수의 값을 간단하게 변경=====
>>> a = 3
>>> b = 5
>>> a, b = b, a   #a와 b의 값을 바꿈
>>> a
5
>>> b
3

 

 

 

 

 

출처 : ⎡Do it! 점프 투 파이썬 (박응용)

'Python > 02. 파이썬의 기초, 자료형' 카테고리의 다른 글

02-7 불 자료형  (0) 2024.06.27
02-6 집합 자료형  (0) 2024.06.27
02-5 딕셔너리 자료형  (0) 2024.06.27
02-4 튜플 자료형  (0) 2024.06.25
02-3 리스트 자료형  (0) 2024.06.25