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

“ x不在y”或“ x不在y”

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

“ x不在y”或“ x不在y”

他们总是给出相同的结果。

实际上,

not 'ham' in 'spam and eggs'
在特殊情况下,执行单个“非输入”操作而不是“输入”操作,然后取反结果:

>>> import dis>>> def notin():    'ham' not in 'spam and eggs'>>> dis.dis(notin)  20 LOAD_ConST    1 ('ham')   3 LOAD_ConST    2 ('spam and eggs')   6 COMPARE_OP    7 (not in)   9 POP_TOP    10 LOAD_ConST    0 (None)  13 RETURN_VALUE>>> def not_in():    not 'ham' in 'spam and eggs'>>> dis.dis(not_in)  20 LOAD_ConST    1 ('ham')   3 LOAD_ConST    2 ('spam and eggs')   6 COMPARE_OP    7 (not in)   9 POP_TOP    10 LOAD_ConST    0 (None)  13 RETURN_VALUE>>> def not__in():    not ('ham' in 'spam and eggs')>>> dis.dis(not__in)  20 LOAD_ConST    1 ('ham')   3 LOAD_ConST    2 ('spam and eggs')   6 COMPARE_OP    7 (not in)   9 POP_TOP    10 LOAD_ConST    0 (None)  13 RETURN_VALUE>>> def noteq():    not 'ham' == 'spam and eggs'>>> dis.dis(noteq)  20 LOAD_ConST    1 ('ham')   3 LOAD_ConST    2 ('spam and eggs')   6 COMPARE_OP    2 (==)   9 UNARY_NOT  10 POP_TOP    11 LOAD_ConST    0 (None)  14 RETURN_VALUE

起初我以为它们总是给出相同的结果,但是

not
它本身只是一个低优先级的逻辑否定运算符,可以
a in b
像其他布尔表达式一样容易地应用,而
notin
为了方便和清楚起见,它是一个单独的运算符。

上面的拆卸很明显!看起来,虽然

not
显然是逻辑取反运算符,但该表格
not a in b
是特殊情况,因此实际上并未使用通用运算符。这
not a inb
实际上使表达式与相同
a not in b
,而不仅仅是产生相同值的表达式。



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

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

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