본문 바로가기

Script/Python

09. Shallow copy & Deep copy

파이썬은 C#, Java 처럼 해당 자료형의 클래스를 만들고 이를 레퍼런스로 가지고 있기 때문에
 
변수간에 복사를 하면 값 복사가 일어나는 것이 아니라 참조복사가 일어난다.
 
따라서 값을 복사해 사용하고자 한다면 copy 모듈을 임포트 한 다음 deepcopy 함수를 사용해야 한다.
 
import copy
 
a = [1,2,3]
b = a
c = copy.deepcopy(a) # deep copy
 
a[0]= 38
 
print (a) # [38, 2, 3]
print (b) # [38, 2, 3]
print (c) # [1, 2, 3]
 
 
 

'Script > Python' 카테고리의 다른 글

11. Conditional Statements  (0) 2020.01.15
10. Statement Blocks  (0) 2020.01.15
08. Key container - Set  (0) 2020.01.15
07. Key container - Dictionary  (0) 2020.01.15
06. Sequence Container - Tuple  (0) 2020.01.14