티스토리 뷰
클래스의 인스턴스에서 깊은복사, 얇은복사에 대한 정의를 할 필요가 있다.
좀더 정확히는 copy 모듈을 이용할때 copy.copy(), copy.deepcopy() 이용할때 동작 코드를 구현할 수 있다.
__copy__ 는 copy.copy() 에 대한 정의이고
__deepcopy__ 는 copy.deepcopy() 에 대한 정의이다.
import copy
class Coo:
def __init__(self, info=None):
self.info = info if info else list()
def add(self, item):
self.info.append(item)
def remove(self, index):
self.info.pop(index)
def __copy__(self):
print("shallow copy")
return self
def __deepcopy__(self, memodict={}):
print("deep copy")
return Coo(copy.deepcopy(self.info))
'python lecture > basic' 카테고리의 다른 글
[edu] csv 파일 쓰기 읽기 (csv 파일) (0) | 2019.02.11 |
---|---|
[edu] naming convention (네이밍 컨벤션) (0) | 2019.02.07 |
[edu] __contains__ (membership test, 멤버십 테스트) (0) | 2019.02.07 |
[edu] abstract class (추상클래스) (0) | 2019.02.07 |
[edu] staticmethod, classmethod 의미, 차이 (0) | 2019.02.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- virtualenv
- GIT
- gitlab
- django chatbot
- 파이썬 강좌
- 이미지 비교
- 문과 코딩
- pycrypto
- 면접정답
- 장고
- wsgi
- Tistory
- 면접답변
- 엑셀 비교
- Python
- 장고 카톡 자동응답
- 문서 비교
- 파이썬
- 모바일 테마 적용
- 플러스친구 자동응답
- django
- 모바일 스킨 적용
- PuTTYGen
- 파이썬 독학
- 장고 플러스친구 자동응답
- chatbot
- 파이썬 입문
- gitignore
- 파이썬 프로그래밍
- admin.py
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함