• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문있습니다! read only dict 관련

21.12.11 17:53 작성 조회수 193

0

from types import MappingProxyType

d = {'key1': 'value1'}

# Read Only
d_frozen = MappingProxyType(d)

#d_frozen['key1'] = 'value2'
print(d, id(d))
print(d_frozen, id(d_frozen))
print(d is d_frozen, d == d_frozen)
d['key1'] = 'value2'
print(d_frozen, id(d_frozen))
 
결과가..
{'key1': 'value1'} 1996092114944 {'key1': 'value1'} 1996091990176 False True {'key1': 'value2'} 1996091990176
여기서 d_frozen은 안바껴야되는거 아닌가요?ㅎㅎㅎ
분명 강의에서 d_frozen은 수정불가로 배웠는데...질문드립니다!

답변 1

답변을 작성해보세요.

0

d_frozen을 직접 수정하셔야 수정 불가한 메세지를 확인할 수 있어여~

불변에 담기전 d 변수는 수정이 가능합니다.

빠른 답변 감사드립니다. 다만 d_frozen을 미리 선언해두고 

그 다음 d를 바꾸었으면, d_frozen은 수정불가능하니까 유지되어야 하지 않나 싶어서요.

d를 바꾸면 d,d_frozen 모두 변경되어서 여쭈었습니다.