if语句中“ in”的使用和含义?
问题内容:
在Zed Shaw的《 学习Python的艰难方法》 的示例 中 ,其中一个练习显示了以下代码:
next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
我很难理解in
此声明中的含义。我习惯if
在javascript中使用语句,例如语法:
var = 5;
if (var > 3) {
//code to be executed
}
这是if
/in
陈述(在Python)一样if()
在JavaScript?
找到答案很棘手,因为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
在字典中,成员资格被视为“关键之一”:
>>> "in" in {"in": "out"}
True
>>> "in" in {"out": "in"}
False