Python初学者が関数のところでSyntaxErrorを起こしまくったので原因と解決法を備忘録として残す。
>>>|def f(x):
...| return x+1
...|f(2)
|
|SyntaxError: invalid syntax
IDLE shellの左端も表記しているので、[>>>]や[...]を意図的に含んでいる。
defで関数を定義した後、直後でf(2)のように関数を呼びだそうとしたら、
上記のようにSyntaxErrorと表記された。
そこでreturnとf(2)を一行開けた状態にしたところ
>>>|def f(x):
...| return x+1
...|
>>>|f(2)
|3
このように出力された。
前者ではまだf(x)が定義される前にf(2)を呼び出していたということだろうか?
IDLE shellの左側にある[>>>]と[...]の違いがあるが、
[...]の中にある場合は一連の流れだからまだ定義し終わっていないということなのだろうか?