Skip to Content
전문가를 위한 파이썬(2판)
book

전문가를 위한 파이썬(2판)

by 루시아누 하말류, 강권학
November 2024
Beginner to intermediate
1064 pages
25h 21m
Korean
Hanbit Media, Inc.
Content preview from 전문가를 위한 파이썬(2판)
270
1
데이터 구조체
copy
()
deepcopy
()
를 이용해
Bus
객체 세 개를 생성한다.
bus1
Bill
을 내려주면
bus2
에서도
Bill
이 사라진다.
passengers
속성을 조사해 보면
bus1
bus2
가 동일 리스트를 공유함을 알 수 있다.
bus2
bus1
얕은 사본이기 때문이다.
bus3
bus1
의 깊은 사본이므로
passengers
속성이 별개의 리스트를 가리킨다.
일반적으로 깊은 사본을 만드는 일은 간단하지 않다는 점에 주의하라. 객체 안에 순환 참조가
있으면 단순 알고리즘은 무한 루프에 빠질 수 있다.
deepcopy( )
함수는 순환 참조를 제대로
처리하고자 이미 복사한 객체에 대한 참조를 기억한다. 순환 참조를 깊게 복사하는 예는 [예제
6
-
10
]과 같다.
예제
6-10
순환 참조.
b
a
를 참조한 후
a
의 뒤에 연결되는데,
deepcopy
()
a
를 제대로 복사한다.
>>> a = [10, 20]
>>> b = [a, 30]
>>> a.append(b)
>>> a
[10, 20, [[...], 30]]
>>> from copy import deepcopy
>>> c = deepcopy(a)
>>> c
[10, 20, [[...], 30]]
게다가 깊은 복사가 너무 깊이 복사할 때도 있다. 예를 들어
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

전문가를 위한 리액트

전문가를 위한 리액트

테자스 쿠마르
고성능 파이썬(2판)

고성능 파이썬(2판)

오현석, 미샤 고렐릭, 이안 오스발트

Publisher Resources

ISBN: 9791169211772