1、简单运算
+、-、*、/、**:加减乘除幂运算
import numpy as np a=np.array([1,2,3]) b=np.array([3,2,1]) print (a+10) #对应位置依次相加 print (a*2) print ([1,2,3]*2) print (a+b) print (a-b) print (a*b) print (a/b) print (a**b) #次幂操作
[11 12 13] [2 4 6] [1, 2, 3, 1, 2, 3] [4 4 4] [-2 0 2] [3 4 3] [0.33333333 1. 3. ] [1 4 3]
2、布尔运算
&、|、~:与或非运算
- 当为boolean时,是与或非
- 当为整数时,按位做与或非操作
如3&2,3按照二进制为11,2按二进制为10,3&2就相当于11&10,得到了10为2
3&2=2
3|2=3
非操作,如~3,,机器是32位了,3=0000......0000 0011,非操作就是把所有的0变成1,1变成0,
~3=1111......1111 1100,计算机中首位是1表示一个负数,后面的数用补码实现,一般是把补码取非操作,然后再+1得到自然数
即:1后面的很多0取非操作,0000......0000 0011=3,3+1=4,再加一个符号为-4
所以~3=-4
~n=-(n+1)
import numpy as np a=np.array([True,True,False,False]) #当为布尔类型,做与或非操作 b=np.array([True,False,True,False]) c=np.array([1,2,3]) d=np.array([2,1,2]) print (a|b) #布尔或 print (a&b) #布尔与 print (~a) #布尔非 print (c|d) #按位或 print (c&d) #按位与 print (~c) #按位非
[ True True True False] [ True False False False] [False False True True] [3 3 3] [0 0 2] [-2 -3 -4]
3、比较运算
>、>=、<、<=、==、!=大于小于等于不等运算
import numpy as np a=np.array([1,2,3]) b=np.array([3,2,1]) print (a>b) print (a>=b) print (a<a) print (a<=b) print (a==b) print (a!=b)
[False False True] [False True True] [False False False] [ True True False] [False True False] [ True False True]