04 运算符

一、算数运算:

运算符 描述
+ 两对象相加 a+b====>27
- 负数或一个数减去另一个数 a-b====>-11
* 两数相乘或返回一个被重复若干次的字符串 a*b====>40
** 返回x的y次幂 a**b====>27
/ x除以y b/a====>3
// 返回商的整数部分 9//2===>4,9.0//2.0===>4.0
% 返回除法的余数 7%3====>1

+=与+

二、比较运算:

三、赋值运算:  

交叉赋值:

x = 1
y = 2
x,y = y,x
这样可以直接交换两个变量的值,而不借助第三个变量,非常简洁明了,也可以交换多个变量:

x = 1
y = 2
a = 7
c = 8
x, y, a, c, = c, y, x, a
print(x, y, a, c)

链式赋值:

x=a=b=c=10

解压赋值:

有包含n个元素的元组或者是序列,怎样将它的值解压后赋给新的变量?你可能想到按索引逐个赋值,python提供了这样的一种方法:
x,y,z = [1,2,3]

当不需要获取列表的全部值,只需要首尾的一些值时,还可以借助纯下划线变量名作为占位:
list1 = [1, 2, 3, 4, 5, 6, [7, 8]]
a, b, *_, c = list1

*_表示多个_变量,具体的个数根据赋值符号右边的元素个数决定。而_变量,我们约定不去使用它,仅仅将其用作占位。

四、位运算: 

注:

~5 = -6
# 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110

按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了

五、逻辑运算: 

 当多个逻辑运算符并列在一个条件时,为了代码更加易读,推荐使用()标明优先级,方便阅读 

and:
在Python 中,andor 执行布尔逻辑演算,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。

在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值;如果布尔上下文中的某个值为假,则 and 返回第一个假值

or:
使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值
如果所有的值都为假,or 返回最后一个假值

注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

and-or结合使用:
结合了前面的两种语法,推理即可。
为加强程序可读性,最好与括号连用,例如:(1 and 'x') or 'y'

六、成员运算:  

  

七、身份运算(is,is not):

运算符优先级:自上而下,优先级从高到低

猜你喜欢

转载自www.cnblogs.com/dongzhihaoya/p/10088827.html