looking at an answer given by wwiiの間、私は間違っていると彼の押し込みにコメントしました。しかし、IDLEでコードを実行した後、私はそれが障害なく走っていることを発見しました。不適切な字下げがPython IDLEで許可されていますか?
は、私はちょうど私が正しい結果を得ていたことを確認するために、いくつかの例を試してみました:
>>> def foo():
return 0
>>> foo()
0
>>> def bar():
return foo() + 5
>>> bar()
5
>>> def foobar():
return foo() + bar()
>>> foobar()
5
>>>
をあなたが見ることができるように、それらのすべてが罰金走りました。私は、通常のスクリプトで同じことをしようとすると、Pythonは私がブロックインデントすることを忘れて私に言って、私のプログラムも実行する前にエラーが発生します:
はインデントのこの種を来る方法をインタラクティブに許可されていますIDLEですが、通常のスクリプトではありませんか?私はIDLEのドキュメント、具体的にはセクション25.5.2.1 Automatic indentationを調べましたが、これは答えを見つけるのには役に立たなかった。
さらに、体を機能the Python documenation on functions状態がインデントされている必要があります
キーワードDEFは、関数定義を紹介します。関数名とカッコで囲まれた仮パラメータのリストが続く必要があります。関数の本体を構成するステートメントは、次の行、から始まり、インデントされたでなければなりません。
(強調鉱山)
インデントのこの種は、IDLEで許可されますが、完全に通常のスクリプトでシャットダウンされるのはなぜ?これは目的ですか?もしそうなら、この行動はどこかに書かれていますか?
プロンプト「 '' >>> '' 'は、処理する前の最初の行から削除されていると思います。しかし、それは迷惑です。 – wwii
@wwii確かです。しかし、その迷惑なよりも混乱しているようです。 –
私はアイドルコーダーとして公開されています。 – wwii