Zed Shaw'sのLearn Python the Hard Wayの例では、ある演習問題で次のようなコードが表示されています。
next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
この文の中の in
の意味を理解するのに苦労しています。私はjavascriptなどでif文を使うことに慣れていて、その構文は次のようなものです。
var = 5;
if (var > 3) {
//code to be executed
}
このif
/in
文(python)は、javascriptのif()
と同じですか?
というのも、in
は検索エンジンで答えを絞り込むにはとても短い文字列であり、その動作の適切な名前がわからないからです。
それはnext
が何であるかによる。
もしそれが文字列であれば(あなたの例のように)、in
は部分文字列をチェックします。
>>> "in" in "indigo"
True
>>> "in" in "violet"
False
>>> "0" in "10"
True
>>> "1" in "10"
True
もしそれが別の種類の反復可能なもの(リスト、タプル、セット、ディクショナリー...)であれば、in
はメンバーシップをチェックします。
>>> "in" in ["in", "out"]
True
>>> "in" in ["indigo", "violet"]
False
辞書では、メンバーシップは、"being one of the keys"と見なされます。
>>> "in" in {"in": "out"}
True
>>> "in" in {"out": "in"}
False