运算符

一. 算数运算符

  1. 加法运算符(+):计算两个数字之和。如果是两个字符串做加法运算,就是字符串的拼接;
a = 10 + 5                          #计算
b = 'hello' + ' ' + 'world'         #字符串的连接
  1. 减法运算符(-):计算两个字符串之差。字符串之间不能做减法运算;
a = 10 - 5                          #计算
b = 5 - True                        #结果为4
c = 'hello' - 'h'                   #报错,TypeError
  1. 乘法运算符(*):计算两数乘积。如果将字符串将数字相乘,则会对字符串进行复制操作,
    将字符串重复指定次数;
a = 5 * 5               #计算
  1. 除法运算符(/):结果总会返回一个浮点类型;
a = 10 / 5              #a为2.0
b = 5 / 2               #b为2.5
  1. 整数运算符(//):结果保留计算后的整数位,总会返回一个整型;
a = 10 // 5             #a为2
b = 5 // 2              #b为2
  1. 幂运算(**):求一个数的n次幂;
a = 2 ** 2             #a为4
b = 10 ** 3            #b为1000
c = 16 ** 0.5          #c为4,就是16开根号
  1. 模运算(%):求两个数相除的余数。
a = 10 % 4             #a为2
b = 10 % 2             #b为0

二. 赋值运算符

  • = 可以将等号右侧的值赋给等号左边的变量; a = 10
  • += a += 5相当于 a = a + 5;
  • -= a -= 5相当于 a = a - 5;
  • *= a *= 5相当于 a = a * 5;
  • **= a **= 5相当于 a = a ** 5;
  • /= a /= 5相当于 a = a / 5;
  • //= a //= 5相当于 a = a // 5;
  • %= a %= 5相当于 a = a % 5;

三. 关系运算符

关系运算符用来比较两个值之间的关系,结果返回一个bool值;
如果关系成立返回True,否则返回False。

  • 大于(>)
  • 大于等于(>=)
  • 小于(<)
  • 小于等于(<=)
  • 等于(==)
  • 不等于(!=)
  1. 这些比较运算符都是比较对象的值;
  2. 数字和字符串之间不能进行比较;
  3. 字符串之间可以进行比较,比较规则:逐位比较两个字符串中字符对应的Unicode编码;
  • is
  • is not

is 和 is not 比较的是对象的id,判断两个对象是否为同一个对象;

a = 1 is True
print('a = ',a)     #输出False,因为True的值是1,
                    # 但是他们占用不同的空间,属于不同的对象,id不同

四. 逻辑运算符

  1. not 逻辑非
  • not可以对右侧的值进行非运算;
  • 对于布尔值,非运算会直接取反;
  • 对于非布尔值,非运算会先将其转换为布尔值,然后再取反;
  1. and 逻辑与
  • and会对符号两侧的值进行与运算;
  • 只有在符号两侧的值都为True时,才会返回True,只要有一个False就会返回False;
  • 如果第一个值为False,则不再看第二个值,直接返回False;
  1. or 逻辑或
  • or 可以对两侧的值进行或运算;
  • 或运算中只要有一个True,就会返回True;
  • 如果第一个值为 True,则不再看第二个值,直接返回 True;

对于非布尔值的逻辑运算:python会将其当做布尔值运算,最终返回原值。

五. 条件运算符

语法: 语句1 if 条件表达式 else 语句2

执行流程:条件运算符在执行时,会先对条件表达式进行求值判断,
如果判断结果为True,则执行语句1,并返回执行结果;
如果判断结果为False,则执行语句2,并返回执行结果。

a = 10
b = 40
c = 30
m = a if a > b else b     #获取两个变量中较大值
#获取三个变量的最大值
mm = a if a > b and a > c else (b if b > c else c)

六. 补充

  1. 运算符的优先级(从低到高)
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j0H36OEl-1645428156711)(运算符_优先级.png)]
  2. 逻辑运算符可以连着使用
    1 < 2 < 3 相当于 1 < 2 and 2 < 3