今天敲**發現個奇怪的問題:
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...