강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

sungkun.jeong님의 프로필 이미지
sungkun.jeong

작성한 질문수

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

시퀀스(4-1)

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

작성

·

273

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은 수정불가로 배웠는데...질문드립니다!

퀴즈

Trong Python, sự khác biệt lớn nhất giữa kiểu 'có thể thay đổi (Mutable)' và kiểu 'không thể thay đổi (Immutable)' là gì?

Khả năng thay đổi sau khi gán giá trị

Cách lưu trữ dữ liệu

độ nhanh chậm

Khác biệt sử dụng bộ nhớ

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

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

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

sungkun.jeong님의 프로필 이미지
sungkun.jeong
질문자

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

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

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

sungkun.jeong님의 프로필 이미지
sungkun.jeong

작성한 질문수

질문하기