하나고 파이썬 기말 예상 객관식 출처 파싱 요약¶
사용 자료¶
| 자료 | 페이지/범위 | 반영 주제 |
|---|---|---|
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¶
- 함수 단원 제목,
def,return,global,None. - 입력, 규칙, 결과의 함수 개념.
- 수학 함수와 파이썬 함수 정의의 대응.
- 함수는 호출 가능한 소프트웨어 로직이며 값을 반환할 수 있음.
print("Hello, World!")에서 함수 이름과 인자.print()구현 예시와 반환값None.int,str,float,list,min,max,len등 내장 함수.- 내장 함수, 표준 라이브러리, 외부 라이브러리, 사용자 정의 함수의 차이.
import module,from module import func,import module as alias.module_name.function_name()형태의 점 표기법.- 사용자 정의 함수와 docstring.
- 함수 정의, 호출, 반환값이 실행되는 흐름.
- 인자 평가, 지역 namespace 생성, 매개변수 대입,
return종료. - 지역 변수와 함수 호출 프레임.
- 전역 변수는 data 영역, 지역 변수는 stack frame, 객체는 heap에 저장.
- 지역/전역 변수 조회 규칙.
- 전역 변수는 읽을 수 있지만 함수 안에서 대입 갱신하려면 주의 필요.
global키워드로 전역 변수 갱신.return이 없으면None반환.- argument와 parameter의 구분.
- 같은 함수에 서로 다른 인자 전달.
- 반환값을 변수에 저장한 뒤 다시 출력.
- 매개변수가 없는 함수와 있는 함수 비교.
- 기본값 매개변수.
return없는 평균 함수와return있는 평균 함수 비교.- 함수 사용 이유: 재사용, 중복 감소, 유지보수, 가독성.
- 단위 변환 함수 미션.
- Secret forest 게임 함수 설계 미션.
- 챗봇 미션.
cs1robots미로 탈출:move,turn_left,pick_beeper,drop_beeper, 센서 4종.- 참고 자료.
클래스 PDF¶
- 클래스와 메서드 단원 제목.
- 객체는 데이터와 행동을 결합하며
id,type,value를 가짐. A = "0"; B = 0에서==와is의 의미.- 클래스는 설계도, 객체는 설계도로 만든 실제 인스턴스.
class,__init__,self, 속성, 메서드, 객체 생성.Robot()생성자와 로봇 메서드.Person클래스: 기본값 인자pet=None,get_info().Car클래스:display_info()가 출력만 수행.Rectangle.area(),Calculator.add(),Calculator.multiply().- 문자열 객체는
str클래스에서 만들어지고 문자열 메서드를 사용 가능. list클래스와dir(list).
딕셔너리 PDF¶
- 컬렉션 자료형:
set,dict,list,tuple. - 파이썬 컬렉션 개요.
- 리스트와 딕셔너리 비교.
- 딕셔너리 리터럴의 key와 value.
- 리스트는 위치 인덱스, 딕셔너리는 key로 접근.
- 리스트로 모은 데이터와 딕셔너리로 집계한 데이터의 차이.
.keys(),.values(),.items()와 반복문..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개.