printで見て、コメントで説明する
printが複数のものを一度に書き、sepとendがそれを変え、コメントがなぜ存在するのか — 実行中のプログラムの中を見るための最初の道具です。
どうやって学びますか?
解決する問題
プログラムを書いて、実行しました。ターミナルは何も言いませんでした。
動いたのか?途中で止まったのか?中の計算はいくらになったのか?知る手立てはありません。コンピューターは自発的には何も言わないからです — 見たいものは、自分で聞かなければなりません。
printは、その聞き方です。最初のうちは、それが唯一の窓です — プログラムがどこまで進んだか、変数が何を持っているか、計算はいくらになったか。経験豊富な開発者でも、デバッガーを手元に置いたまま、1日に何度もコードにprintを入れます — それで構いません。仕事の一部です。
この章を終える頃には
- 1回の呼び出しで複数のものをprintし、その間の隙間をコントロールできる
sepとendで出力を整えられる- 文字列(テキスト)と数字の違いに気づける — なぜ
"2" + "3"は2 + 3ではないのか - コメントを書けるようになり、どのコメントが本当に書く価値があるかを見分けられる
前提条件: ターミナル、フォルダー、そして最初のプロジェクト.
printは複数のものを渡せる
カンマで好きなだけ多くの値を区切ると、printはそれらをすべて1行に書きます:
print("Order", 7, "confirmed")Order 7 confirmedスペースを一度も打っていないのに、単語の間にスペースが入って出力されることに気づいてください。printは、カンマで区切られた値と値の間に、自分から半角スペースを1つ入れます。
そして各printの終わりで、改行します:
print("line one")
print("line two")line one
line two空のprint()は空行を1つ作るだけです — 長い出力を読みやすいまとまりに分ける、最も簡単な方法です。
sep — 隙間は自由に
そのスペースが気に入らなければ、変えられます:
print("2026", "09", "10", sep="-")
print("home", "user", "notes.txt", sep="/")
print("a", "b", "c", sep="")2026-09-10
home/user/notes.txt
abcend — 行の終わりに何をするか
デフォルトではprintは行を終えて次に進みます。これも調整できます:
print("Loading", end="")
print(".", end="")
print(".", end="")
print(". done")Loading... done4回の別々のprint呼び出しで、出力は1行 — 最初の3つに、行の終わりに何も置くなと指示したからです。
文字列と数字は別のもの
この2行はほとんど同じに見えて、違う動きをします:
print(2 + 3)
print("2" + "3")5
23引用符の中では文字列(テキスト)で、+は加算しません — 結合します。引用符の外では数字で、+は本当に加算します。
この区別は、このあとの章の土台です。そして初心者が遭うエラーの約半分も、この原因です。今はルールだけ覚えてください: 引用符の中は文字列。
コメント — Pythonが決して読まない行
#からその行の終わりまで、Pythonはすべてを無視します:
# Friday delivery report
total = 12 + 8
print("Total:", total) # the sum shown at the bottom of the reportTotal: 20コメントはプログラムの動きに影響しません。人のために書くものです — 同僚のために、そして3ヶ月後の自分のために。その頃には、ここに書いたことなどすっかり忘れています。
*良いコメントは何をではなくなぜを書きます。* コードが何をするかは、コード自身が示しています:
# Weak: repeats what the code already says
count = count + 1 # add 1 to count
# Useful: gives the reason, which the code cannot show
count = count + 1 # the header row was counted too, so shift by one1つ目からは何も学べません — その行は明白に1を足しているだけです。2つ目はなぜ1を足すのかを言っていて、どれだけコードを読んでも分からないことだからです。
学習中は、コメントにもう1つの使い方があります — 1行を一時的にオフにして、その行がない場合にプログラムがどう動くかを見る方法です:
print("first")
# print("second")
print("third")first
third完成例
report.pyを作って実行します:
# A small sales report
print("=" * 24)
print("SALES REPORT")
print("=" * 24)
print("Items sold:", 3 + 5 + 2)
print("Revenue:", 3 * 120 + 5 * 90 + 2 * 250)
print()
print("Prepared by", "Rafi", sep=": ")========================
SALES REPORT
========================
Items sold: 10
Revenue: 1310
Prepared by: Rafi出力のRevenue: 1310の後の空行に注目してください — これは空のprint()が作っています。レポートの最後の部分を区切っています。
"=" * 24も見てください。文字列に数字を掛けると、Pythonはその回数だけ繰り返します。罫線を引くために等号を24回も手で打つ必要はありません。
問題が起きたとき
SyntaxError: unterminated string literal 引用符を開いたまま閉じ忘れました。print("Hello)がこれに当たります。開く引用符と閉じる引用符を数えてください。
文字列の中に引用符が必要なとき 外側と内側で種類を変えてください: print("It's working")またはprint('She said "yes"')。
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? print "Hello"と書くとこれが出てきます。それはPython 2の構文です。Python 3ではprintは関数なので、括弧が必要です: print("Hello")。この間違いは、たいてい古いチュートリアルや過去の回答を経由してやってきます。
sepやendに引用符なしで値を渡す print("a", "b", sep=-)はSyntaxError: invalid syntaxになります。sepとendは常に文字列を受け取ります: sep="-"。
コメントは何語で書くべきか? Pythonはどの言語のコメントも受け付けます — #の後はなんであれ、Pythonは読みません。しかし他者と共有したり、仕事で使うコードでは、コメントは英語で書いてください。理由は実利的です — コードが渡るチームに、あなたの言語を読む人ばかりいるとは限りません。エラーメッセージも、ドキュメントも、オンラインで見つかる回答も、すべて英語だからです。ですからこのコースのコードはすべて — コメントも、変数名も、ファイル名も — 英語で、説明だけがあなたの言語です。
ステップ 4 / 6 — 予想する
理解度をチェック
この3行を実行すると、ターミナルには正確に何が表示されますか?
print("a", "b", "c", sep="-")
print("x", end=" ")
print("y")- Aa-b-c x y
- Ba-b-c x y
- Cabc x y
- Da-b-c x y
どちらの行も+を使っています。出力は?
print(2 + 3)
print("2" + "3")- A5、その後エラー — `+`は文字列には使えない
- B5 5
- C5 23
- D23 23
このプログラムは何をprintし、なぜですか?
price = 250
# price = 400
print("Price:", price)- A`Price: 400` — 後の値が勝つ
- Bエラー — 同じ変数に2回代入はできない
- C`Price: 250` — 2行目はコメントなので、Pythonは決して読まない
- D`Price: 250`の次に`Price: 400` — 両方の行が実行される
回答にはアカウントが必要です
ログインして答えを確認
問題は上にあります。頭の中で答えを考えることがいちばん大切です。ログインすると、正解・解説・3 段階のヒントを確認できます。
やってみよう
次の出力を正確に作るprofile.pyというファイルを書いてください:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 233つの条件です:
- 上下の罫線は、ハイフンを24回打つのではなく、乗算で作ること
NAME : RafiとROLE : Python learnerの行はsepを使うことAge next yearの行では、数字を直接打たず — 加算で出すこと(例:22 + 1)
そしてファイルの1行目に、このファイルがなぜ存在するのか — 何をするのかではなく — を書くコメントを置いてください。
このミッションにはまだ続きがあります
上で読んだ内容がミッションのすべてで、削られた部分はありません。Pro では次の内容が追加されます:
- 内部で実際に何が起きているか — Python がこれをどう実行するのか
- 演習の完全な解答と、ステップごとの解説
- さらに難しい追加演習
- このテーマでよく聞かれる面接の質問と模範解答