python中 與and的問題

2021-08-19 09:29:07 字數 1060 閱讀 3233

今天敲**發現個奇怪的問題:

a = 1

b = 2

print(a == 1 & b == 2) # false

print((a == 1) & (b == 2)) # true

print(a == 1 and b == 2) # true

print((a == 1) and (b == 2)) # true

查了下發現:

& : 按位與運算子,把數字當作二進位制來看,參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

and: 布林"與" - 如果 x 或y為 false,x and y 返回 false

運算子優先順序(自上而下,優先順序提高):

運算子描述

lambda

lambda表示式

or布林「或」

and布林「與」

not x

布林「非」

in,not in

成員測試

is,is not

同一性測試

<,<=,>,>=,!=,==比較|

按位或^

按位異或

&按位與

<<,>>

移位+,-

加法與減法

*,/,%

乘法、除法與取餘

+x,-x

正負號~x

按位翻轉

**指數

x.attribute

屬性參考

x[index]

下標x[index:index]

定址段f(arguments...)

函式呼叫

(experession,...)

繫結或元組顯示

[expression,...]

列表顯示

字典顯示

'expression,...'

字串轉換

可見&優先順序比判斷優先順序==高,式子(a == 1 & b == 2)中,先計算1 & b 為false,再計算a == false 為false,再計算false == 2為false。

python 與win 中的路徑問題

檔案好理解,比如d盤下的a.txt就是乙個檔案。路徑是指的檔案在作業系統上的位置,比如d盤下,就表示乙個位置,也就是路徑。好比兩個程式設計師,寫程式的時候習慣不同,兩個作業系統對路徑寫法的規定也是不一樣的。windows是用 而linux是用 windows根目錄是碟符c 而linux根目錄是 例如...

python中 python中的 與

這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...

python中矩陣與陣列相乘的問題

下文 一下在神經網路中可能會遇到的np.dot 陣列,矩陣 和np.dot 矩陣,陣列 等矩陣與陣列相乘的問題 import numpy as np import tensorflow as tf a np.array 6,7,8 b np.array 1,2 3,4 5,6 print a.sha...