【Python数据分析基础-1】二元操作符
0. 引入
\qquad 万物归根到底为二字“数据”,寻找、发现、掌握、利用历史规律就需要学会数据分析,故从今天开始,土豆会更新一些关于Python基础和数据处理方面的知识点以及代码,既是记录自己的学习过程,同样也希望能搞帮助到大家!
1. 二元操作符表
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. 代码演示(所有代码均在jupyter notebook实现)
(1) a + b、a - b、a * b、a / b、a // b、a ** b
a = 5
b = 3
print(a + b) # print用于打印结果
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a ** b)
8
2
15
1.6666666666666667
1
125
(2) a==b、a != b、a<=b、a < b、a > b、a>=b
==、!= 用于判断两个对象的值是否相同
<=、<、>、>=用于比较两个对象的值的大小
a = 5
b = 3
print(a == b)
print(a != b)
print(a >= b)
print(a <= b)
False
True
True
False
(3) a & b、a | b、a ^ b
\qquad
解释:a & b、a | b、a ^ b分别表示为按位与、按位或、按位异或
\qquad
(3.1) 若 a、b为数值变量:按位与相当于“按位乘”,按位或相当于“按位加”,按位或是“同为0,异为1”
a = 5 # 5的二进制为"0101"
b = 3 # 3的二进制为"0011"
print(a & b)
print(a | b)
print(a ^ b)
1
7
6
具体运算过程看图(关于10进制和2进制的转换,可以自行学习了解):
\qquad (3.2) 若 a、b为逻辑变量:其实用法和数值变量相似,只要把True当作"1",把False当作"0",再进行操作就十分简单了。
(a >= b) & (a <= b) ## True & False --> 1 & 0 = 0 --> False
False
(a >= b) | (a <= b) ## True | False --> 1 | 0 = 1 --> True
True
(a >= b) ^ (a <= b) ## True ^ False --> 1 ^ 0 = 1 --> True
True
(4) is、is not
\qquad is、is not用于判断两个对象是否是同个Python对象,比较的不是两个对象的值,而是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。
a = None
b = None
a is b
True
a = 256
b = 256
a is b
True
a = 257
b = 257
a is b
False
a = 'm' * 20
b = 'm' * 20
a is b
True
a = 'm' * 21
b = 'm' * 21
a is b
False
\qquad 是否看到这里有些许疑惑呢?其实Python中的is涉及到了内存机制和数据池的问题,解释起来还需要一些口舌,请往下看!
3. 补充
这里补充一点对于is和==的区别:
操作符 | 具体描述 |
---|---|
== | 只用于判断两个对象的值是否相同,相等返回True,反之返回False |
is | 用于判断两个对象是否是同一个Python对象,即判断两个对象是否指向同一个内存地址或者说是否拥有同一个id |
具体的可以看一下这两篇博客,我觉得两位大佬讲得十分详细了:
\qquad 要操作数据,先要知道怎么操作数据,用什么操作数据,这篇博客就讲了Python中的一些基础操作符,而下一篇博客我将会详细讲解一下Python的标量类型!