반응형
ㅇ 변수에 값을 저장할때 다음과 같이 a 변수의 내용을 b에 담을때,
a = [1,2,3]
b = a
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 4, 3]
b 의 값도 수정이된다.
b = a 는 a 의 내용을 b 에 복사 하는것이 아니라 a의 주소를 바라보게 만들기 때문에 주의해야 한다.
a의 값만 b에 할당하고 싶다면 다음과같은 방법이 있다.
1. [:] 사용
a = [1,2,3]
b = a[:]
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 2, 3]
위 같은 경우 a의 값을 잘라서 새로운 값을 만들기때문에 b에는 a의 주소가 아닌 새로운 주소값이 저장된다.
2. copy 모듈, 메소드 사용
모듈 사용
from copy import copy
a = [1,2,3]
b = copy(a)
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 2, 3]
메소드 사용
a = [1,2,3]
b = a.copy()
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 2, 3]
ㅇ 변수 두개의 주소를 바꾸기
다른 언어에서는 두개의 변수값을 바꾸기 위해서는 임시변수가 필요하지만 파이썬에서는 다음과 같이 쉽게 변경 할 수 있다.
a = 3
b = 5
a,b = b,a
print(a)
print(b)
ㅇ 변수 선언 방법
# a, b = ('python', 'life')
# [a, b] = ['python', 'life']
# a, b = 'python'
'Dev > Python' 카테고리의 다른 글
반복문 ( while, for ) (0) | 2023.09.12 |
---|---|
자료형의 참/거짓, 논리연산자, 조건문 if (0) | 2023.09.12 |
파이썬 자료형 - 튜플, 집합, 딕셔너리 (0) | 2023.09.07 |
파이썬 자료형 - 문자열 (0) | 2023.09.05 |
파이썬 자료형 - 숫자 (0) | 2023.09.05 |