私はC、C++、Java、C#などの言語で(C# example)else if
という文が構文砂糖であることを知っています。実際にはelse
という文の後にif
という文が続きます。python "elif"はelse:ifと違ってコンパイルされていますか?
else if (conition(s)) { ...
は
else {
if (condition(s)) { ...
}
に等しいしかし、Pythonで、特別なelif
ステートメントがあります。私はこれが開発者のための省略形にすぎないのか、Pythonが隠された最適化があるのか、このような理由でより速く解釈されるようにすることができるのだろうかと疑問に思いましたか?しかし、これは他の言語が(JavaScriptなどの)あまりにもそれをやっているように、私には意味をなさないでしょう。ですから、私の質問は、Pythonでelif
のステートメントは開発者が使用することを単に省略したものですか、そうすることによって得られる何かが隠されていますか?
'他if'は(少なくとも、C++で)でもシンタックスシュガーではないためだけ糖衣構文です。それは実際の裸の構文であり、砂糖で覆われていません。私たちがそれを書く方法を選んだのはちょっと誤っているだけです。 – chris