Python Study(四)、Python的运算符

一、运算符

运算符的概念

用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3, 其操作数是 2 和 3 ,而运算符则是 “ + ”

运算符的分类

算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
条件运算符(三元运算符)

二、算术运算符

1.加法运算符,表现形式 “ + ”

1 a = 1 + 2
2 print(a) 
3 输出:3
  • 加法运算符可以字符串相加
1 a="ab"+"c"
2 print(a)
3 输出:abc

2.减运算符,表现形式 “ - ”

1 a = 3 - 2
2 print(a) 
3 输出:1
  • 减法运算符字符串不能相减

3.乘法运算符,表现形式 “ * ”

1 a = 1 * 2
2 print(a) 
3 输出:2
  • 乘法运算符可以字符串与整数相乘,但字符串不能跟字符串相乘
1 a = "abc" * 2
2 print(a)
3 输出:abcabc

4.除法运算符,表现形式 “ / ”

1 a = 6 / 2
2 print(a) 
3 输出:3.0
  • 除法运算符字符串不能相除,字符串也不能与整数等相除,0不能做除数
  • 除法运算结果总会返回浮点类型(flaot)

5.整除运算符,表现形式 “ / / ”

1 a = 6 / / 2
2 print(a) 
3 输出:3
  • 整除运算结果总会返回整数类型(int)

6.取模(取余)运算符,表现形式 “ % ”

1 a = 5 % 2
2 print(a) 
3 输出:1

7.幂运算符,表现形式 “ ** ”

1 a = 5 ** 2
2 print(a) 
3 输出:25

三、赋值运算符

表现形式 “ = ” 把右侧的值赋值给左侧的变量

1 a = 50
2 print(a) 
3 输出:50

赋值运算符的特殊写法

  • += (x + = 3 相当于 x = x + 3)
  • -= (x - = 3 相当于 x = x - 3)
  • *= ( x * = 3 相当于 x = x * 3)
  • **= (x ** = 3 相当于 x = x ** 3)
  • /= (x / = 3 相当于 x = x / 3)
  • //= (x // = 3 相当于 x = x // 3)
  • %= (x % = 3 相当于 x = x % 3)

四、比较运算符

  • 比较运算结果总会返回布尔类型
  • 比较运算符比较的是,如果左侧的值大于右侧的值,则返回True,反之则返回False
1 a = 10 > 2
2 print(a)
输出:True
>运算符:比较左侧值是否大于右侧值;
<运算符:比较左侧值是否小于右侧值;
>=运算符:比较左侧值是否大于或等于右侧值;
<=运算符:比较左侧值是否小于或等于右侧值;
==运算符:比较两个对象的值是否相等;
!=运算符:比较两个对象的值是否不相等。

如果两个字符串相比较,首先比较两个字符串的首字符,如果相等就比较第二个,从左往右,以此类推。“ 字母比较大小规则是按照ASCII码表来设定的 ” 详情参考文章添加链接描述
例如:

1 a = "abc" > "c"
2 print(a)
3 输出:Flase
1 a = "abce" > "abcd"
2 print(a)
3 输出:True

1.is

比较两个对象是否是同一个对象,它比较的是对象的id
在这里插入图片描述
在这里插入图片描述

2.is not

比较两个对象是否不是同一个对象,它比较的是对象的id
在这里插入图片描述
在这里插入图片描述

五、逻辑运算符

逻辑运算符主要用于逻辑判断。

1.not逻辑非

not可以对符号右侧的值进行非运算。

1 a = not a
2 print(a)
3 输出:False

当判断值是0或1时会将0、1转化为布尔值在进行运算。若None等空串一般都作为0拿来运算

2.and 逻辑与

and对符号两边的值进行与运算

1 a = True and True
2 print(a)
3 输出:True
1 a = True and False
2 print(a)
3 输出:False

找False,有一个False返回False,有两个False返回True,若左边是True,则直接把右边的值作为返回值

1 True and print('Hello')
2 输出:Hello
1 False and print('Hello')
2 输出:False 

3.or 逻辑或

or对符号两边的值进行或运算

1 a = False or True
2 print(a)
3 输出:True
1 a = True or False
2 print(a)
3 输出:True

找True,有True,优先输出True,若左边是False,则直接把右边的值作为返回值

1 True or print('Hello')
2 输出:True 
1 False or print('Hello')
2 输出:Hello

4.非布尔值的与或运算

python会先将其当作布尔值运算

1.非布尔值的与运算

如果第一个值是False,则返回第一个值,
如果第一个值是True,则返回第二个值。

1 a = 1 and 5
2 print(a)
3 输出:5
1 a = 0 and 5
2 print(a)
3 输出:0

2.非布尔值的或运算

如果第一个值是True,则返回第一个值,
如果第一个值是False,则返回第二个值。

1 a = 1 and 5
2 print(a)
3 输出:1
1 a = 0 and 5
2 print(a)
3 输出:5

六、条件运算符(三元运算符)

表现形式 :“ 语句1 if 表达式 else 语句2 ”

1 print( " hello world" ) if True else print( " Hello" )
2 输出:hello world
3 print( " hello world" ) if True else print( " Hello" )
4 输出:Hello
1 a = 10
2 b = 20
3 ab = a if a > b else b
4 print(ab)
4 输出:20
现有一题:

有数值 a、b、c,求三个数值的最大值!
代码如下:

1 a = 10
2 b = 12
3 c = 18
4 x = a if (a > b and a > c)  else  (b if (b > a and b > c) else c)
5 print(x)
6 输出:18

七、运算符的优先级

在这里插入图片描述
由此图可经行推测:
① 假设 ‘ and ’ 和 ‘ or ’ 的优先级一样高
2 or 5,2是True,返回5
5 and 6,2是True,返回 6

② 假设 ‘ or’ 比 ‘ and ’ 的优先级高
2 or 5,2是True,返回5
5 and 6,2是True,返回 6

③ 假设 ‘ and ’ 比 ‘ or ’ 的优先级高
5 and 6,5是True,返回6
2 or 6,2是True,返回 2

结果得到: ‘ and ’ 比 ‘ or ’ 的优先级高

详细可参考文章 Python运算符优先级一览表
也可查看Python官方网站 6.17. Operator precedence

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值