まず結論
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
このように Traceback や NameError などが出ているときは、Pythonが途中で止まっています。
見分けるポイント
まず、先頭や最後の行に注目します。
こんにちは だけなら、実行結果です。
Traceback (most recent call last): は、エラー表示の始まりです。
NameError: name 'name' is not defined は、エラーの種類と説明です。
次の入力待ちもある
ターミナルでは、処理が終わると次の入力待ちに戻ります。
PS C:\Users\me\study>
このような表示は、Pythonの結果でもエラーでもありません。
「次のコマンドを入力できます」という合図です。
迷ったときの順番
画面に何か出たら、次の順番で見ます。
Tracebackと書いてあるかErrorで終わる言葉があるか- 自分が
print()で出した文字か - ターミナルの入力待ちに戻っているか
Traceback や Error がなければ、ただの実行結果かもしれません。
手を動かすミニ練習
次のコードを動かして、実行結果を確認します。
print("Python")
次に、わざと間違えてエラー表示を見ます。
print(name)
最初から直そうとしなくて大丈夫です。
まず「これは結果か、エラーか」を分けられれば十分です。
3行まとめ
- printで出た文字は、ふつう実行結果。
- Tracebackから始まる長い表示はエラー。
- 次の入力待ちに戻っていれば、処理は終わっている。