2016-12-27 5 views
1

私は最近、何か変わったことに気付きました。私は何かをタイプしましたいくつかの組み込み関数の構文エラーメッセージが異なるのはなぜですか?

exec code 

私は明らかに誤りを得ました。面白いのは、エラーの説明 - SyntaxError: Missing parentheses in call to 'exec'です。私は、同様に詳細なものを与える他の機能を発見していない。私が持っているならば、

eval code 

私はSyntaxError: invalid syntaxを得る。ユーザー定義のすべての関数と、すべての組み込み関数が見つかりました。 g。 min,filterは、同じように動作します。

なぜこれらのエラーメッセージは矛盾しますか? exec codeので

答えて

1

は、Python 2における有効な構文ではなく、Pythonの3に、このエラーメッセージは、より詳細でより一般的なSyntaxErrorそれは非常に人気があった(となる)ので(ウェル、execの使用などのような人気のある)場合1つはPython 2からPython 3に移行しています。

print stringをPython 3で使用しようとすると正確なエラーが発生します(stringが定義されている限り)。

+0

ああ、私はそれについて考えなかった。私は 'exec'がPython 2のキーワードであることを知らなかった... –

関連する問題