python基础之运算符
一、算数运算:
运算符 | 描述 | 例 |
+ | 两对象相加 | 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 中,and 和 or 执行布尔逻辑演算,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值;如果布尔上下文中的某个值为假,则 and 返回第一个假值
or:
使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值
如果所有的值都为假,or 返回最后一个假值
注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值
and-or结合使用:
结合了前面的两种语法,推理即可。
为加强程序可读性,最好与括号连用,例如:(1 and 'x') or 'y'
六、成员运算:
七、身份运算(is,is not):
运算符优先级:自上而下,优先级从高到低