콘텐츠로 이동

하나고 파이썬 기말 예상 객관식 출처 파싱 요약

사용 자료

자료 페이지/범위 반영 주제
5. function.pdf 31쪽 함수 정의와 호출, 실행 순서, 지역/전역 스코프, global, None, 매개변수와 인자, 기본값, import, 점 표기법, 사용자 정의 함수, 미로 로봇 함수
6. class.pdf 11쪽 객체의 id/type/value, ==is, 클래스와 객체, 생성자 __init__, self, 인스턴스 속성, 메서드, Robot() 클래스, 문자열/리스트 메서드
7. dictionary.pdf 8쪽 컬렉션, 리스트와 딕셔너리 비교, key/value, key 인덱싱, .keys(), .values(), .items(), 딕셔너리 순회, 리스트 컴프리헨션
hands-on/python/robot/docs/src_files.md 전체 1_myrobot.py, 2_function_test.py, 3_maze.py, 4_friend.py, 5_random_walk.py, .wld 세계 파일 설명
hands-on/python/robot/src/* 실제 코드 문서와 코드 차이 확인, 실제 종료 조건과 비퍼 위치 확인

페이지별 핵심 확인

함수 PDF

  1. 함수 단원 제목, def, return, global, None.
  2. 입력, 규칙, 결과의 함수 개념.
  3. 수학 함수와 파이썬 함수 정의의 대응.
  4. 함수는 호출 가능한 소프트웨어 로직이며 값을 반환할 수 있음.
  5. print("Hello, World!")에서 함수 이름과 인자.
  6. print() 구현 예시와 반환값 None.
  7. int, str, float, list, min, max, len 등 내장 함수.
  8. 내장 함수, 표준 라이브러리, 외부 라이브러리, 사용자 정의 함수의 차이.
  9. import module, from module import func, import module as alias.
  10. module_name.function_name() 형태의 점 표기법.
  11. 사용자 정의 함수와 docstring.
  12. 함수 정의, 호출, 반환값이 실행되는 흐름.
  13. 인자 평가, 지역 namespace 생성, 매개변수 대입, return 종료.
  14. 지역 변수와 함수 호출 프레임.
  15. 전역 변수는 data 영역, 지역 변수는 stack frame, 객체는 heap에 저장.
  16. 지역/전역 변수 조회 규칙.
  17. 전역 변수는 읽을 수 있지만 함수 안에서 대입 갱신하려면 주의 필요.
  18. global 키워드로 전역 변수 갱신.
  19. return이 없으면 None 반환.
  20. argument와 parameter의 구분.
  21. 같은 함수에 서로 다른 인자 전달.
  22. 반환값을 변수에 저장한 뒤 다시 출력.
  23. 매개변수가 없는 함수와 있는 함수 비교.
  24. 기본값 매개변수.
  25. return 없는 평균 함수와 return 있는 평균 함수 비교.
  26. 함수 사용 이유: 재사용, 중복 감소, 유지보수, 가독성.
  27. 단위 변환 함수 미션.
  28. Secret forest 게임 함수 설계 미션.
  29. 챗봇 미션.
  30. cs1robots 미로 탈출: move, turn_left, pick_beeper, drop_beeper, 센서 4종.
  31. 참고 자료.

클래스 PDF

  1. 클래스와 메서드 단원 제목.
  2. 객체는 데이터와 행동을 결합하며 id, type, value를 가짐.
  3. A = "0"; B = 0에서 ==is의 의미.
  4. 클래스는 설계도, 객체는 설계도로 만든 실제 인스턴스.
  5. class, __init__, self, 속성, 메서드, 객체 생성.
  6. Robot() 생성자와 로봇 메서드.
  7. Person 클래스: 기본값 인자 pet=None, get_info().
  8. Car 클래스: display_info()가 출력만 수행.
  9. Rectangle.area(), Calculator.add(), Calculator.multiply().
  10. 문자열 객체는 str 클래스에서 만들어지고 문자열 메서드를 사용 가능.
  11. list 클래스와 dir(list).

딕셔너리 PDF

  1. 컬렉션 자료형: set, dict, list, tuple.
  2. 파이썬 컬렉션 개요.
  3. 리스트와 딕셔너리 비교.
  4. 딕셔너리 리터럴의 key와 value.
  5. 리스트는 위치 인덱스, 딕셔너리는 key로 접근.
  6. 리스트로 모은 데이터와 딕셔너리로 집계한 데이터의 차이.
  7. .keys(), .values(), .items()와 반복문.
  8. .values() 기반 리스트 컴프리헨션과 조건식 컴프리헨션.

로봇 실습

  • 1_myrobot.py: turn_right()는 왼쪽 회전 3회, turn_around()은 왼쪽 회전 2회, escape()는 오른쪽, 앞, 왼쪽, 뒤 순으로 판단한다. 실제 코드의 종료 위치는 (6, 4)이고 비퍼를 줍기 전에 위치를 먼저 검사한다.
  • 2_function_test.py: 빈 세계에서 4개 변을 각 9칸씩 이동하며 비퍼를 내려놓고 다시 주워 온다. happy_dance(robot)는 인자로 받은 로봇을 120번 왼쪽으로 회전시킨다.
  • 3_maze.py, 4_friend.py, 5_random_walk.py: 미완성 템플릿으로 함수/클래스/무작위 선택 구현을 요구한다.
  • 세계 파일: maze1.wld는 10x10, 시작 (1,1,'E'), 비퍼 (6,4). add1.wld는 목표 비퍼 (7,2). fairy_tale.wld는 14x8, 보물 (5,6). harvest2.wld는 12x12, 비퍼 36개.