在Zed Shaw的Learn Python the Hard Way中的一个例子中,其中一个练习显示了以下代码:
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中)与javascript中的if()
相同吗?
找到这个问题的答案很棘手,因为in
是一个很短的字符串,无法通过搜索引擎缩小答案,而且我不知道其操作的正确名称。
这取决于 "下一个 "是什么。
如果它是一个字符串(如你的例子),那么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