运算符
Python
支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。
运算符 | 描述 |
---|---|
[] [:] |
下标,切片 |
** |
指数 |
~ + - |
按位取反, 正负号 |
* / % // |
乘,除,取余,取整 |
+ - |
加,减 |
>> << |
右移,左移 |
& |
按位与 |
^ \| |
按位异或,按位或 |
<= < > >= |
小于等于,小于,大于,大于等于 |
== != |
等于,不等于 |
is is not |
身份运算符 |
in not in |
成员运算符 |
not or and |
逻辑运算符 |
= += -= *= /= %= //= **= &= |= ^= >>= <<= |
(复合)赋值运算符 |
下面的例子演示了赋值运算符和复合赋值运算符的使用。
a = 10 b = 3 a += b # 相当于:a = a + b a *= a + 2 # 相当于:a = a * (a + 2) print(a) # 想想这里会输出什么
下面的例子演示了比较运算符(关系运算符)、逻辑运算符和身份运算符的使用。
flag0 = 1 == 1 flag1 = 3 > 2 flag2 = 2 < 1 flag3 = flag1 and flag2 flag4 = flag1 or flag2 flag5 = not (1 != 2) print('flag0 =', flag0) # flag0 = True print('flag1 =', flag1) # flag1 = True print('flag2 =', flag2) # flag2 = False print('flag3 =', flag3) # flag3 = False print('flag4 =', flag4) # flag4 = True print('flag5 =', flag5) # flag5 = False print(flag1 is True) # True print(flag2 is not False) # False
练习:输入年份判断是不是闰年
闰年说明:四年一闰,百年不闰,400年再闰
year = int(input('请输入年份:')) is_leap = (year % 4 == 0 and year % 100 != 0) or year % 400 == 0 print(is_leap)
Note
- and 、or 和not同时存在的时候,先算括号,再算not,然后算and,最后算or
- or两个为假才是假,and两个为真才是真
and和or左右两边数字的取值
Note
x和y分别代表的是运算符左右两边的值, or中出现0时,不能取0, 如果没有0,取左边的值,and中出现0时必须取0,如果没有0,则取右边的值。True在python中相当于1,False相当于0。
print(0 or 1) print(1 or 2) print(2 or 3) print(3 or 4) print(4 or 5) print(5 or 6) print(6 or 7) # or 左右两边的数字如果为x、y,如果x==0, 则取y值,如果x!=0, 则取x值 #结果为: #1、2、3、4、5、6 print(0 and 1) print(2 and 3) print(3 and 4) print(4 and 5) print(5 and 6) print(6 and 7) # and 左右两边数字如果为x、y, 如果x==0, 则取x, 如果x!=0,则取y值 # 结果为:0、3、4、5、6、7 print(1 or 0 or 3 or 0 or 5) # 结果为1 print(2>3 and 5) # 结果为false
来源:https://www.cnblogs.com/ddzc/p/12165855.html