まず結論

Pythonを実行したあとに出る文字は、大きく分けると次の3つです。

  • 実行結果
  • エラー表示
  • 次の入力待ち

最初は、画面に出た文字を全部読もうとしなくて大丈夫です。

こんなときに読む記事です

次のようなときに役立ちます。

  • 実行したあとに出た文字がエラーなのか分からない
  • Tracebackという言葉を見て止まってしまう
  • ターミナルの入力待ちと実行結果を見分けたい

ここでは、画面に出る文字を大きく3つに分けて見ます。

絵で見るなら

モコが画面に出た紙を、結果、エラー、入力待ちの3つの箱に分けるイメージです。

全部を読まず、まずどの箱に入る表示なのかを見ます。

実行結果とは

たとえば、次のコードを動かします。

print("こんにちは")

画面にこう出たら、これは実行結果です。

こんにちは

print() で表示した文字なので、問題が起きたわけではありません。

エラー表示とは

次のように、まだ作っていない名前を使ったコードを動かします。

print(name)

すると、次のような長い表示が出ることがあります。

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print(name)
NameError: name 'name' is not defined

このように TracebackNameError などが出ているときは、Pythonが途中で止まっています。

見分けるポイント

まず、先頭や最後の行に注目します。

こんにちは だけなら、実行結果です。

Traceback (most recent call last): は、エラー表示の始まりです。

NameError: name 'name' is not defined は、エラーの種類と説明です。

次の入力待ちもある

ターミナルでは、処理が終わると次の入力待ちに戻ります。

PS C:\Users\me\study>

このような表示は、Pythonの結果でもエラーでもありません。
「次のコマンドを入力できます」という合図です。

迷ったときの順番

画面に何か出たら、次の順番で見ます。

  1. Traceback と書いてあるか
  2. Error で終わる言葉があるか
  3. 自分が print() で出した文字か
  4. ターミナルの入力待ちに戻っているか

TracebackError がなければ、ただの実行結果かもしれません。

手を動かすミニ練習

次のコードを動かして、実行結果を確認します。

print("Python")

次に、わざと間違えてエラー表示を見ます。

print(name)

最初から直そうとしなくて大丈夫です。
まず「これは結果か、エラーか」を分けられれば十分です。