您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

表达式中的Python“ in”关键字与for循环中的关键字“复制”

表达式中的Python“ in”关键字与for循环中的关键字“复制”

它们是相同的概念,但不是相同的运算符。

print(2 in some_list)示例中,in一个处理几种不同情况的运算符。在Python文档的in运营商给予的细节,我意译如下:x in y电话y.__contains__(x),如果y一个__contains__成员函数。否则,请x in y尝试迭代y.__iter__()查找xy.__getitem__(x)如果__iter__不存在,则调用。复杂性是为旧代码和新代码提供一致的成员资格测试-__contains__如果要实现自己的类,这就是您想要的。

for循环中,in仅仅是将loop- index变量与循环中的变量分开的标记循环Python文档for讨论了语义,我将其解释如下:in在循环开始时对之后的内容进行评估以提供迭代器。然后,循环主体针对迭代器的每个元素运行(禁止break或其他控制流更改)。该for语句不必担心__contains____getitem__

@Kelvin有一个好处:您可以in针对自己的新型类(class foo(object))更改行为:

python 2022/1/1 18:27:10 有458人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶