728x90
반응형
클래스 내부에 default param을 넣고 싶으면 __init__ 메소드에 넣으면 된다.
mutable(가변) : list, dic, set, class
immutable(불변) : 숫자, string, tuple None
메소드에 default param 설정할 때 def aaa(data = p[1, 2, 3]): 처럼 mutable object가 들어가면 얕은 복사가 일어난다.
taxi2와 taxi3 인스턴스를 만들 때 아무 값도 주지 않아 __init__ 메소드에서 customer = [] 가 사용되었다.
이 때 []는 mutable object(list) 여서 얕은 복사가 일어나 taxi2와 taxi3가 같은 [] 를 가리키게 된다.
출처
https://testspoon.tistory.com/172
728x90
반응형
'Python' 카테고리의 다른 글
Python list 관련 (0) | 2022.06.13 |
---|---|
Python print 방식 (0) | 2022.06.13 |
Python 변수, 객체, 메모리영역, 참조 (0) | 2022.06.12 |
Python iterable, iterator (0) | 2022.06.11 |
python remove(), del, pop() (0) | 2022.06.11 |
댓글