edubun
한국어

파이썬

print에서 작은 프로그램까지 파이썬 기초를 배웁니다. 한 줄짜리 프로그램에서 시작해 변수, 문자열, 수, 리스트, if, 반복문, 함수, 딕셔너리를 거쳐 용돈 기입장 프로그램까지 열 단원으로 갑니다. 이 과정의 코드는 모두 파이썬 3.12에서 실제로 실행했고, 화면의 출력도 그 실행 결과 그대로입니다.

진도

이 과정에 대하여

파이썬은 암스테르담 CWI 연구소의 프로그래머 귀도 반 로섬이 시작했습니다. 공식 파이썬 FAQ에 실린 그의 짧은 역사에 따르면, 그는 1989년 크리스마스 연휴에 이 아이디어를 시험해 보기로 하고, 이듬해에는 직장 프로젝트에 썼으며, 1991년 2월 유즈넷 뉴스그룹에 올렸습니다. 이름은 뱀과 관계가 없습니다. 그는 1970년대 BBC 코미디 시리즈 「몬티 파이튼의 날아다니는 서커스」의 대본을 읽고 있었고, 짧고 독특하며 약간 신비로운 이름을 원했습니다.

열 단원은 print("Hello, world!") 한 줄만 든 파일에서 시작하는데, 13글자를 출력하는 완전한 프로그램입니다. 다음은 값과 변수로, 대수에서 score = score + 5는 해가 없지만 파이썬에서는 일상적인 한 줄입니다. 문자열은 0부터 세므로 "Python"[5]는 n이고 "Python"[6]은 오류입니다. 숫자와 산술 단원은 7 / 2 = 3.5와 7 // 2 = 3을 구분합니다. 이어서 리스트, if와 elif, for와 while, 함수가 나오는데, return 없이 끝나는 함수는 None을 돌려줍니다. 딕셔너리 단원에는 학급 대표 투표용지 열두 장을 세는 가상의 학생 서연이 나와, 리스트가 불편하다는 것을 알고 이름에서 바로 숫자로 가는 표를 원하게 됩니다. 마지막 단원은 오류 메시지를 아래에서부터 읽습니다. 1947년 하버드 마크 II를 다루던 기술자들은 부품에 낀 나방을 일지에 붙이고 「first actual case of bug being found」라고 적었습니다. 스미스소니언은 에디슨이 1870년대에 이미 bug라는 말을 썼으므로 나방이 그 용어를 만든 것은 아니라고 밝힙니다. 모든 코드 예제는 파이썬 3.12에서 실행했고, 보이는 출력은 실제 출력입니다.

시작하기 전에

첫 수업은 print 한 줄로 시작하므로 규칙을 나열하기보다 작은 프로그램에서 차근차근 코드를 늘립니다. 나눗셈, 몫, 나머지를 비교할 때는 기본 계산에 익숙하면 도움이 됩니다. 예제와 실행 결과를 나란히 보며 공백, 따옴표, 인덱스를 확인합니다.

마치고 나면

변수에 값을 저장하고 문자열과 리스트를 다루며, if로 실행할 분기를 선택하고 for와 while로 작업을 반복할 수 있습니다. 값을 반환하는 함수를 쓰고 딕셔너리에서 항목을 찾습니다. 인덱스와 키 오류를 구별하고 트레이스백을 읽으며 용돈 기록 프로그램을 구성할 수 있습니다.

  1. 1첫 파이썬 프로그램 실행하기print("Hello, world!") 한 줄만 들어 있는 파일도 완성된 파이썬 프로그램이고, 실행하면 글자 13개가 화면에 나옵니다.
  2. 2값과 변수수학에서 score = score + 5는 해가 없는 식입니다. 파이썬에서는 아주 흔한 문장이라서, score가 10이었다면 15가 됩니다.
  3. 3문자열 다루기파이썬은 "Python"의 글자 위치를 0부터 셉니다. 그래서 "Python"[5]가 마지막 글자 n이고, "Python"[6]은 오류입니다.
  4. 4수와 계산파이썬 3에서 7 / 2는 3.5, 7 // 2는 3이고, 7 % 2는 나머지 1입니다.
  5. 5리스트항목이 5개인 리스트의 인덱스는 0부터 4까지라서 menu[4]가 마지막 항목이고, menu[5]는 IndexError로 프로그램을 멈춥니다.
  6. 6if로 조건 나누기파이썬은 if와 elif를 위에서부터 차례로 확인해서, 조건이 처음으로 True인 갈래 하나만 실행하고 나머지는 건너뜁니다.
  7. 7for와 while로 반복하기range(5)는 0, 1, 2, 3, 4를 만듭니다. 수는 다섯 개이고, 5는 들어 있지 않습니다.
  8. 8함수 만들기return 없이 끝나는 함수는 None을 돌려줍니다. 그래서 print(print("hi"))를 실행하면 hi 다음에 None이 나옵니다.
  9. 9딕셔너리딕셔너리에 없는 키를 찾으면 KeyError로 프로그램이 멈추지만, d.get(key, 0)은 대신 0을 돌려줍니다.
  10. 10오류 메시지 읽기와 작은 프로젝트파이썬의 트레이스백은 아래에서부터 읽습니다. 마지막 줄이 오류의 종류이고, 그 위의 코드 줄이 오류가 난 곳입니다.
이 과정의 출처 (6)
  • Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
  • Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
  • Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
  • General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
  • Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
  • Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)

확인한 날: 2026-10-19