학습 본문으로 건너뛰기
오늘은 질문 하나만 해결해요196 / 216

처음이어도 괜찮아요 · 그림부터 시작해요

겹친 정보 묶음을 새 사전으로 풀기

오늘의 질문

일반 서점에서는 이런 장면과 닮았어요. “상자 속 작은 상자까지 열어 내용물을 새 보관함에 각각 옮겨 담는 것과 닮았어요.”

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.
왜 배우는지 쉬운 설명 보기

원래 목록에 글자를 더해도 먼저 풀어 둔 사전의 안쪽 목록은 그대로 남습니다. 이 장면을 살펴보는 까닭은 “안에 든 정보 묶음도 차례로 열어 새 사전과 새 목록으로 옮겨 보는 도구예요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

02 · 먼저 해 본 뒤 이름 붙이기

자동 도구가 닿지 않는 경계 서가에서 오늘 장면 하나를 천천히 살펴봐요

동네책방 대상 카드

겹친 정보 묶음을 새 사전으로 풀기

반복 글을 줄여 주는 도구도 들어온 내용 확인, 안쪽 정보의 변화 막기와 안전한 화면 표시를 대신하지 않아요.
01 · 오늘 마주칠 생활 장면

원래 목록에 글자를 더해도 먼저 풀어 둔 사전의 안쪽 목록은 그대로 남습니다.

이 장면을 짧은 컴퓨터 글로 옮겨 천천히 확인해 볼게요.

02 · 먼저 잡아 둘 쉬운 뜻

쉬운 말로 풀면 이런 뜻이에요. “안에 든 정보 묶음도 차례로 열어 새 사전과 새 목록으로 옮겨 보는 도구예요.”

책에서 쓰는 정확한 이름은 직접 살펴본 뒤에 붙여요.

03 · 실제 첫 글 읽기

한 줄에서 한 가지 행동만 찾아요

표시를 전부 외우지 않아도 괜찮아요. 오른쪽의 쉬운 행동만 먼저 읽으세요.

  1. from dataclasses import asdict, dataclass

    앞의 공식 도구 상자에서 뒤에 적은 도구만 골라 이 글로 가져와요.

    from
    어느 도구 모음에서 가져올지 밝히는 말
    dataclasses
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    import
    이미 준비된 도구를 현재 글에서 쓰게 가져오는 말
    asdict
    반복 글을 줄여 만든 정보 묶음을 이름표와 내용의 장부로 펼치는 도구
    dataclass
    정보 자리에서 처음 받기·보여 주기·비교에 드는 반복 글을 줄여 주는 도구
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
  2. @dataclass

    아래 일 묶음을 등록할 때 덧붙일 포장 일을 먼저 골라요.

    dataclass
    정보 자리에서 처음 받기·보여 주기·비교에 드는 반복 글을 줄여 주는 도구
    @
    아래 일 묶음을 등록할 때 위의 포장 일을 먼저 씌우는 표시
  3. class Inner: items: list

    같은 정보와 일을 함께 쓸 새 종류의 설명을 시작해요.

    class
    같은 정보와 일을 함께 쓸 새 종류를 설명하기 시작하는 말로, 이 설명 묶음을 클래스라고 불러요
    Inner
    같은 정보와 일을 함께 쓸 새 종류에 붙인 수업용 이름
    items
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    list
    차례대로 읽고 바꿀 수 있는 묶음을 만드는 도구
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
  4. @dataclass

    아래 일 묶음을 등록할 때 덧붙일 포장 일을 먼저 골라요.

    dataclass
    정보 자리에서 처음 받기·보여 주기·비교에 드는 반복 글을 줄여 주는 도구
    @
    아래 일 묶음을 등록할 때 위의 포장 일을 먼저 씌우는 표시
  5. class Outer: inner: Inner

    같은 정보와 일을 함께 쓸 새 종류의 설명을 시작해요.

    class
    같은 정보와 일을 함께 쓸 새 종류를 설명하기 시작하는 말로, 이 설명 묶음을 클래스라고 불러요
    Outer
    같은 정보와 일을 함께 쓸 새 종류에 붙인 수업용 이름
    inner
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    Inner
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
  6. source = ["a"]

    오른쪽 일을 먼저 한 뒤 나온 내용을 왼쪽 이름표로 다시 찾게 해요.

    source
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    []
    여러 내용을 차례대로 담거나 한 자리를 찾는 네모난 표시
    ""
    따옴표 안의 글자를 그대로 내용으로 쓰는 표시
  7. result = asdict(Outer(Inner(source)))

    오른쪽 일을 먼저 한 뒤 나온 내용을 왼쪽 이름표로 다시 찾게 해요.

    result
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    asdict
    반복 글을 줄여 만든 정보 묶음을 이름표와 내용의 장부로 펼치는 도구
    Outer
    앞에서 설명한 새 종류로 실제 대상 하나를 만들려고 부르는 이름
    Inner
    앞에서 설명한 새 종류로 실제 대상 하나를 만들려고 부르는 이름
    source
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
  8. source.append("b"); print(result)

    앞에서 준비한 일 묶음을 부르고 괄호 안의 실제 내용을 건네요.

    source
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    append
    앞에서 준비한 일 묶음을 지금 실제로 시키려고 부르는 이름
    print
    괄호 안 내용을 화면에 보여 주는 도구
    result
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
    ""
    따옴표 안의 글자를 그대로 내용으로 쓰는 표시
아직 결과를 보지 않고, 대상과 붙은 정보 가운데 무엇부터 확인하면 좋을까요?

먼저 하나를 고르면 첫 글을 따라 한 결과를 열 수 있어요.

확인 순서 큰 그림 펼쳐 보기
그림을 글로 다시 읽어요

자동으로 줄인 글과 남은 책임을 나눠요

자동으로 생긴 부분과 사람이 직접 정해야 할 약속을 서로 다른 칸에 놓으세요.

  1. 자동으로 생긴 글 확인하기

    만들기, 보여 주기와 비교 중 생긴 부분을 봐요.

  2. 안 해 주는 일 적기

    들어온 내용이 허용되는지 확인하고 안쪽 정보의 변화까지 막는 일은 별도예요.

  3. 작은 반대 예로 검사하기

    인공지능 제안도 한 곳을 바꾼 예로 채택하거나 거절해요.

첫 글과 바꾼 글을 차례로 확인하면 이 칸이 열려요 · 0 / 240

책 한 권에 붙은 이름표, 책 속 정보와 시킬 일을 먼저 살펴보고 자기 말로 설명한 뒤 정확한 이름 하나와 쉬운 뜻을 함께 엽니다.자동 도구가 닿지 않는 경계 서가에서 대상, 붙은 정보, 시킨 일과 마지막 모습을 번호·선·모양과 글로 나란히 보여 줍니다.직접 해보기: 그림을 읽고 내 말 설명을 여덟 글자 이상 적으면 현재 장면의 정확한 이름 하나와 여덟 칸 쉬운 풀이를 엽니다. · 화면 움직임을 줄여 쓰는 경우: 자동 재생 없이 고른 뒤 모습을 바로 바꿉니다. 움직임을 줄여도 같은 글 순서와 직접 확인한 내용을 읽을 수 있습니다.

03 · 이제 내가 해볼 차례

여기까지 오면 이런 일을 할 수 있어요

원래 목록에 글자를 더해도 먼저 풀어 둔 사전의 안쪽 목록은 그대로 남습니다. 이 장면을 살펴보는 까닭은 “안에 든 정보 묶음도 차례로 열어 새 사전과 새 목록으로 옮겨 보는 도구예요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

  • 컴퓨터가 글을 따라 하기 전에 마지막 모습을 먼저 골라요.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 서로 다른 표시로 짚어요.
  • 내가 생각한 모습과 직접 확인한 모습을 나란히 적어요.
  • 무엇이 달랐는지 쉬운 말로 설명한 뒤 책에서 쓰는 정확한 이름 하나를 붙여요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

짧은 글을 먼저 예상하고 직접 확인한 뒤, 대상에 붙은 정보와 시킨 일이 어디에서 왔는지 자기 말로 설명합니다.

  • 공개 풀이를 보기 전에 마지막 모습과 그렇게 생각한 까닭을 먼저 적습니다.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 차례로 짚습니다.
  • 생활말로 먼저 설명한 뒤 오늘의 정확한 이름 하나와 쉬운 뜻을 연결합니다.
  • 이름이나 내용이 달라진 새 장면에서도 같은 확인 순서를 사용합니다.

04 · 자주 헷갈리는 지점

틀린 답도 이유를 알면 다음에는 맞힐 수 있어요

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 대상과 그 대상에 붙은 정보부터 하나씩 다시 볼까요?

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01겉으로 비슷하게 보이면 같은 대상이고 같은 규칙을 써도 돼요.

한 번 더 생각해 볼 질문두 대상을 같은 한 덩어리인지, 담긴 내용이 같은지만지를 나누어 적어 보세요.

이렇게 고쳐 생각해요같은 한 대상인지, 담긴 내용만 같은지와 어떤 종류의 설명을 따르는지 따로 확인해야 해요.

02처음에는 “상자 속 작은 상자까지 열어 내용물을 새 보관함에 각각 옮겨 담는 것과 닮았어요”라는 비유만 보고 비슷한 두 경우가 언제나 같다고 생각하기 쉬워요.

한 번 더 생각해 볼 질문“겹친 정보 묶음을 새 사전으로 풀기” 장면에서 첫 글과 바꾼 글의 확인 내용에서 무엇이 달라졌는지, “안에 든 정보 묶음도 차례로 열어 새 사전과 새 목록으로 옮겨 보는 도구예요”라는 기준과 “`asdict()`가 안쪽까지 새로 옮겨도 판 번호를 붙이거나, 바뀐 칸을 맞추거나, 비밀을 빼거나, 인터넷으로 주고받을 글 모양을 만드는 일까지 보장하지는 않아요”라는 주의점을 써서 설명해 보세요. 그런 다음 “바깥 응답에 내보내기 전에 겹친 비밀, JSON에 담지 못하는 것과 자리 표 변경을 따로 검사해 보세요” 장면에서는 무엇부터 확인할지도 설명해 보세요.

이렇게 고쳐 생각해요첫 글과 한 곳을 바꾼 글에서 처음 달라지는 곳을 찾고, 그 앞과 뒤 모습을 따로 확인해요.

03책에서 쓰는 이름만 외우면 새로운 문제에서도 바로 쓸 수 있어요.

한 번 더 생각해 볼 질문오늘 본 일을 정확한 이름 없이 처음 배우는 친구에게 설명해 보세요.

이렇게 고쳐 생각해요이름보다 먼저 눈앞의 정보와 달라진 행동을 자기 말로 설명해야 새로운 문제에서도 판단할 수 있어요.

05 · 더 궁금할 때만 보기

선생님과 검토자를 위한 믿을 만한 원문

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.