Python
printから小さなプログラムづくりまで、Pythonの基礎を学びます。10の単元で変数、文字列、数、リスト、if、ループ、関数、辞書を学び、1行のプログラムから小遣い帳の作成へ進みます。このページのコード例はすべてPython 3.12で実行し、実際に得られた出力を掲載しています。
このコースについて
Pythonを始めたのは、アムステルダムのCWI研究所のプログラマー、グイド・ヴァン・ロッサムです。公式Python FAQにある本人の小史によれば、1989年のクリスマス休暇に試すことを決め、その後1年間、仕事のプロジェクトで使い、1991年2月にUSENETのニュースグループへ公開しました。名前はヘビとは無関係です。1970年代のBBCコメディー「空飛ぶモンティ・パイソン」の台本を読んでいて、短く独特で少し謎めいた名前を求めたのです。
10の単元は、print("Hello, world!")という1行だけで13文字を表示する完全なプログラムから始まります。次は値と変数です。代数ではscore = score + 5に解はありませんが、Pythonでは日常的な行です。文字列は0から数えるので、"Python"[5]はn、"Python"[6]はエラーです。数と演算では7 / 2 = 3.5と7 // 2 = 3を区別します。リスト、ifとelif、forとwhile、関数へ進み、returnなしで終わる関数はNoneを返します。辞書では、学級代表の12票を数える架空の生徒ソヨンが登場します。リストでは不便なので、名前から数へ直接たどれる表を求めます。最後はエラーメッセージを下から読みます。1947年、ハーバードのMark IIの技術者は、蛾を記録簿に貼り「実際の虫が見つかった最初の事例」と書きました。スミソニアンは、エジソンが1870年代にbugを使っていたため、蛾が語源ではないと指摘します。全コード例をPython 3.12で実行し、実際の出力を示しています。
はじめる前に
最初のレッスンはprint文一つから始まります。規則の一覧ではなく、完成した小さなプログラムから例を広げます。割り算、整数除算、余りを比較するときには基本の計算が役立ちます。例と表示された出力を見比べ、空白、引用符、インデックスに注意しましょう。
終わったら
変数に値を保存し、文字列やリストを扱い、ifで分岐を選び、forとwhileで処理を繰り返せます。値を返す関数を書き、辞書の項目を調べ、よくあるインデックスとキーのエラーを区別できます。お小遣い記録のプログラムを作りながら、トレースバックも読めるようになります。
- 1最初のPythonプログラムを実行するprint("Hello, world!")という1行だけを収めたファイルは、完全なPythonプログラムで、実行すると13文字を出力します。
- 2値と変数代数では、score = score + 5に解はありません。でもPythonでは、よく使うコードです。scoreが10なら、15になります。
- 3文字列:文字を扱うPythonは"Python"の文字を0から数えるので、"Python"[5]は最後の文字n、"Python"[6]はエラーです。
- 4数と算術Python 3では、7 / 2は3.5、7 // 2は3、7 % 2はあまりの1を返します。
- 5リスト5つの項目のリストのインデックスは0から4なので、menu[4]が最後の項目で、menu[5]はIndexErrorでプログラムを止めます。
- 6ifで判断するPythonは、ifと各elifを上から調べ、条件がTrueである最初の分岐だけを実行します。残りは飛ばされます。
- 7forとwhileでくり返すrange(5)は0、1、2、3、4を作ります。数は5つで、5は含まれません。
- 8自分の関数を書くreturnなしで終わる関数はNoneを返します。そのため、print(print("hi"))はhiを出力し、次にNoneを出力します。
- 9辞書辞書にないキーを調べると、プログラムはKeyErrorで止まりますが、d.get(key, 0)は代わりに0を返します。
- 10エラーメッセージの読み方と小さなプロジェクトPythonのトレースバックは下から読みます。最後の行がエラーの名前を示し、その上のコードの行が、起きた場所を示します。
このコースの出典 (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