运算符

Posted ddzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符相关的知识,希望对你有一定的参考价值。

运算符


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

以上是关于运算符的主要内容,如果未能解决你的问题,请参考以下文章

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

如何在 python 中并行化以下代码片段?

JSP 基础语法

获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算

中继片段传播不起作用