が発生し、私はこの機能を "翻訳します"スクリプトとして実行しようとしました(python lambda_stuff.py
)問題はありませんでした。 Pythonのシェルを経由して、それを実行しようとしたときしかし、この奇妙なことが起こった:Pythonのラムダ関数 "翻訳" Pythonのラムダ関数を理解しようとしているとき再帰エラー
>>> def power_of_self(y):
... return y ** y
... power_of_self(3)
File "<stdin>", line 3
power_of_self(3)
^
SyntaxError: invalid syntax
>>> print power_of_self(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in power_of_self
File "<stdin>", line 1, in power_of_self
File "<stdin>", line 1, in power_of_self
File "<stdin>", line 1, in power_of_self
**A FEW HUNDRED MORE OF THESE**
RuntimeError: maximum recursion depth exceeded
なぜ私のスクリプトの実行には、私のシェルの実行とは異なりましたか? ...
には何か関係があるのだろうかと思います。
これは起こってはいけません。関数を終了するために空行がないため、SyntaxErrorを取得しているはずです。このインタプリタセッションのトランスクリプトを編集したことはありますか? – user2357112
ここに[シェルのスナップショット]があります。(https://s11.postimg.org/6ld2wcu4z/Tom_Python_99_53.png) – t0mgs
待って、* SyntaxErrorを取得した後、あなたは引き続きこの関数を使用しようとしました。別のバグがある以前のバージョンの関数を取り上げています。 – user2357112