欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第五章 运算符【Python基础】

程序员文章站 2022-07-04 18:51:22
...

运算符(操作符)可以对一个值或者多个值进行运算或者各种操作,比如+、-、=,都属于运算符
运算符的分类:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符(关系用算符)
  4. 逻辑运算符
  5. 条件运算符(三元运算符)

一、算术运算符

  1. “ + ”加法运算符,如果两个字符串之间进行加法运算,则会进行拼串操。
>>> a = 10+5
>>> print(a)
15
>>> a = 'hello'+'world'
>>> print()

>>> print(a)
helloworld
>>> a = 6-True
>>> print(a)
5
>>>
  1. “ - ”减法运算,字符串相减会报错。
>>> a = 'hello'-'h'
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    a = 'hello'-'h'
TypeError: unsupported operand type(s) for -: 'str' and 'str'
>>> 
  1. “ * ”乘法运算,如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数的复制
>>> a = 'hello,'
>>> a=a*5
>>> print(a)
hello,hello,hello,hello,hello,
>>> 
  1. “ / ”除法运算,运算结果总会返回一个浮点型,“ // ”表示整除,只保留计算后整数部分,总会返回一个整型。
>>> a = 10/5
>>> print(a)
2.0
>>> a = 5/2
>>> print(a)
2.5
>>> a = 5/0
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    a = 5/0
ZeroDivisionError: division by zero
>>> a = 10/3
>>> print(a)
3.3333333333333335
>>> a = 10//3
>>> print(a)
3
>>> 
  1. “ ** ”幂运算,求一个值的几次幂。
>>> a = 2 ** 2
>>> print(a)
4
>>> a = 10 ** 5
>>> print(a)
100000
>>> a = 16 ** 0.5
>>> print(a)
4.0
>>> 
  1. “ % ”取模运算
>>> a = 10 % 5
>>> print(a)
0
>>> a =10%2
>>> print(a)
0
>>> a = 10 %4
>>> print(a)
2
>>> a = 10 % 3
>>> print(a)
1
>>> 

二、赋值运算符

可以将等号右侧的值赋值给等号左侧的变量。

  1. “ = ”
  2. “ += ” a +=5 相当于 a = a + 5
  3. “ - = ” a -=5 相当于 a = a - 5
  4. “ * =” a *=5 相当于 a = a * 5
  5. “ **= ” a **=5 相当于 a = a ** 5
  6. “ /= ” a /=5 相当于 a = a / 5
  7. “ // =” a //=5 相当于 a = a / 5
  8. “ %= ” a %=5 相当于 a = a % 5

三、关系运算符

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

  1.  比较左侧值是否大于右侧值
    
  2. = 比较左侧值是否大于等于右侧值

  3. <
  4. <= 比较右侧值是否大于左侧值
  5. == 比较左右值是否相等
  6. != 比较左右值是否不相等
    在Python中可以对两个字符串进行大于(等于)或小于比较的运算。
    (1)当对字符串进行比较时,实际上比较的是字符串的Unicode编码
    (2)利用该特点可以对字符串按照字母顺序进行排序,但对于中文来说没有多大意义
    (3)比较两个字符串的Unicode编码时是逐位比较的

四、逻辑运算

逻辑运算符主要用来做一些逻辑判断
1、not 逻辑非

  • not可以对符号右侧的值进行非运算
  • 对于布尔值,非运算会对其他进行取反操作,True变False,False变Ture
  • 对于非布尔值,非运算会先将其转换为布尔值,然后取反

2、and 逻辑与

  • and可以对符号两侧的值进行与运算
  • 只有在符号两侧的值都为True时,参会返回True,只要有一个False就会返回False
  • 与运算是找False的
  • Python中的与运算是短路的与,如果第一个值是False,则不再看第二个值

3、or 逻辑或

  • 或运算,两个值有一个为True,结果就是True。
  • 或运算就是找True
  • Python中的或运算是短路或,如果第一个值为True,则再不看第二个值。

五、非布尔值的逻辑运算符

当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终返回原值。
与运算的规则:

  • 与运算是找False的,如果第一个值是False,则不看第二个值
  • 如果第一个值是False,则直接返回第一个值,否则返回第二个值
    或运算规则
  • 或运算就是找第一个True的,如果第一个值是True,则不看第二个值
  • 如果第一个值是True,则直接返回第一个True,否则返回第二个值。
>>> result = 1 and 2
>>> print(result)
2
>>> result = 1 and 0
>>> print(result)
0
>>> result = 1 or 2
>>> print(result)
1
>>> result = 0 or 3
>>> print(result)
3
>>> 

六、条件运算符

语句1 if 条件表达式 else 语句2
执行流程:

  • 条件运算符在执行时,会对条件表达式进行求职判断
  • 如果判断结果为True,则执行语句1,并返回执行结果
  • 如果判断结果为False,则执行语句2,并返回执行结果

七、运算符的优先级

运算符的优先级可以根据优先级表格来查询,在表格中位置越靠下的运算符优先级越高,

  • 优先级越高的优先计算
  • 如果优先级一样则自左向右计算
  • 在开发过程中如果遇到优先级不清楚,则可以通过小括号来改变运算顺序
    第五章 运算符【Python基础】
    逻辑运算补充
    逻辑运算符可以连着使用
>>> result = 1<2<3   #相当于 1<2 and 2<3
>>> print(result) 
True
>>> result = 10 < 20 >15  #相当于 10<20 and 20>15
>>> print(result)
True
>>>