栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“ x not in”与“ not x in”的比较

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“ x not in”与“ not x in”的比较

您可以清楚地验证:这两种形式构成相同的字节码:

>>> import dis>>> dis.dis(compile('if x not in d: pass', '', 'exec'))  10 LOAD_NAME     0 (x)   3 LOAD_NAME     1 (d)   6 COMPARE_OP    7 (not in)   9 JUMP_IF_FALSE 4 (to 16)  12 POP_TOP    13 JUMP_FORWARD  1 (to 17)        >>   16 POP_TOP          >>   17 LOAD_ConST    0 (None)  20 RETURN_VALUE        >>> dis.dis(compile('if not x in d: pass', '', 'exec'))  10 LOAD_NAME     0 (x)   3 LOAD_NAME     1 (d)   6 COMPARE_OP    7 (not in)   9 JUMP_IF_FALSE 4 (to 16)  12 POP_TOP    13 JUMP_FORWARD  1 (to 17)        >>   16 POP_TOP          >>   17 LOAD_ConST    0 (None)  20 RETURN_VALUE

因此很明显,它们在语义上是相同的。

作为样式问题,PEP 8没有提及该问题。

就我个人而言,我非常喜欢这种

if x not in y
形式-可以立即清楚地表明它
not in
是单个运算符, 并且 “读起来​​像英语”。
if not x in y
可能会误导一些读者认为这意味着
if (not x) in y
,读起来不太像英语,并且绝对没有补偿优势。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号