이거 때문에 파이썬 배우면서 개인적으로 프로그램 짜다 생고생 했는데 왜 기본값이 mutable인 함수 인수는 그 기본값 그대로 부르면 다른 오브젝트에 걸쳐서 값이 계속 공유되는 거야?
콜바레
인수에다가 리스트를 넣으면 초기화 딱 한번하고 계속 그 리스트를 사용함
그래서 인수 기본값을 리스트로 하고싶으면 None을 기본값을 넣어주고 if bar = None: bar = [] 이렇게 바꿔주는게 나음
인수 초기화를 딱 한 번 한다는 뜻이, 다음에 또 기본값으로 다른 클래스 오브젝트가 생성되어도 굳이 다시 초기화하지 않고 그 주소 그대로 쓴다는거야?
ㅇ
클래스 뿐만아니라 함수에서도 적용되는거임
그렇게 디자인한 이유까지 혹시 아려나?
메모이제이션 같은거 할때 속도가 개빠르게 활용 가능
포인터 같은 느낌 아님?