av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

python3.x - Python not 運算符的問題

瀏覽:133日期:2022-06-27 17:43:20

問題描述

>>> a = False + 55

>>> a = not(1) + 5False

如上,將 False 直接進行運算時會作為 0 來計算。使用邏輯運算符 not 時,not(1) 的值為 False 或 0。

但為什么直接將 not(1) 放進算術運算后再次計算的結果為 False?這和 Python 的算法邏輯有關么?

問題解答

回答1:

因為not不是一個函數, 是一個表達式, 不管你not(1)+5 還是 not (1+5), 它的作用也只是將后面的結果取反而已.例如:

>>> not 1 + 2False>>> not (1 + 2)False>>> not (1 + 2) + 1False>>> (not (1 + 2)) + 11回答2:

Python 中 not 運算符的用法Boolean Operations:

not x

if x is false, then True, else False

此外,+運算符的優先級(precedence)高于not運算符,所以not(1) + 5中先計算(1) + 5, 后面的(1)+5作為not運算符的操作數. 舉個例子可以看到:

not(-1) # Falsenot(-1) + 1 # True回答3:

正如上面所說,因為 not operator 的優先級小于 + 所以 not(1)+6 會被翻譯為 not (1)+5關于這些情況,你完全可以通過 dis模塊 來查看具體的過程。>>> import dis>>> dis.dis('a = False + 5') 1 0 LOAD_CONST 3 (5) 3 STORE_NAME 0 (a) 6 LOAD_CONST 2 (None) 9 RETURN_VALUE>>> dis.dis('a = not(1) + 5') 1 0 LOAD_CONST 3 (6) 3 UNARY_NOT 4 STORE_NAME 0 (a) 7 LOAD_CONST 2 (None) 10 RETURN_VALUE

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 99久视频| 又黄又色 | 日日夜夜天天综合 | 自拍视频国产 | 蜜桃毛片| 美女日批免费视频 | 国产成人精品一区二区三区在线 | 欧美视频一区二区三区 | 能看的av| 伊人热久久| www国产成人免费观看视频 | 国产精品久久久久久久久久久久久 | 欧美二区在线 | 亚洲激情在线视频 | aaa级片| 九九热精品视频 | 精品美女视频在免费观看 | 久久国产精品视频免费看 | 精品99久久久久久 | 草久久久 | 亚洲精品美女视频 | 日韩精品在线一区 | 久久69精品久久久久久久电影好 | 国产精品明星裸体写真集 | 一区二区在线 | 99热最新| 一区二区三区视频播放 | 国产夜恋视频在线观看 | 日韩精品免费视频 | 色综合视频在线 | 91视视频在线观看入口直接观看 | 男女爱爱福利视频 | 91原创视频在线观看 | 日韩精品一区二区三区中文在线 | 一区二区中文字幕 | 精品日韩一区二区 | 国产91在线播放精品91 | 2019精品手机国产品在线 | 99精品国产一区二区三区 | 亚洲成人av一区二区 | 欧美日韩看片 |