python基础之运算符(二)

1.运算符

1.1运算符的概念

  • 运算符是用于执行程序代码运算,针对一个以上操作数项目进行运算。比如数学中的加减乘除“+”,“-”,“/”等符号,在python中均是运算符。

1.2运算符的分类

  • (1)算术运算符
  • (2)赋值运算符
  • (3)比较运算符
  • (4)比较运算符
  • (5)逻辑运算符
  • (6)条件运算符

2.算术运算

2.1 算术运算符分类

  • 加法运算符,即‘+’
  • 减法运算符,即‘-’
  • 乘法运算符,即‘ * ’
  • 除法运算符,即‘ / ’
  • 整除运算符,即‘ // ',整除运算符在除法中运用,整除整除只取整数
  • 取余运算符,即’ % ‘,除法运算中计算时,结果只取余数
  • 幂运算,即’ ** ‘,求一个数x的多少次幂。

2.2 算术运算符的案例

3.赋值运算

复合赋值运算符含义
a += b相当于a = a + b
a -= b相当于a = a + b
a *= b相当于a = a * b
a **= b相当于a = a ** b
a /= b相当于a = a /b
a //= b相当于a = a // b
a %= b相当于a = a % b

3.1 案例

a = 3
a+=3
print(a)
6
a=6
a**=2
print(a)
36
a=4
a//=3
print(a)
1

4.比较运算

比较运算符主要用于比较两个值之间的关系,结果是返回一个布尔值True或False

4.1 比较运算分类

比较运算符描述
>比较左侧值是否大于右侧值
>=比较左侧值是否大于或等于右侧值
<比较左侧值是否大于右侧值
<=比较左侧值是否小于或等于右侧值
  • 特殊比较运算符
特殊比较运算符描述
==比较两个对象的值是否相等
!=比较两个对象的值是否不相等
is比较两个对象是否同一个对象,比较的对象是id,并非是值
is not比较两个对象是否不是同一个对象,比较的对象是id,并非是值
# is运算
r = 0 is False
print(r)
False
#解析:判断0 和False是不是同一个对象,将判断结果Flase或True赋值给r,打印出判断结果Fals

```python
r = 0 == False
print(r)
True
#解析:‘==’比较对象的值,即比较‘0’ 是否等于False,逻辑判断得出0 等于False正确。

r =  1 is not True
print (r)
#解析:r 和 True不是一个对象,逻辑判断结果为True,

r = 1 !=4
print(r)
True
#解析:值1 不等于4 ,逻辑判断的结果为正确

4.2 案例

5. 逻辑运算

5.1 not 逻辑非

  • not可以对符号右侧的值进行非运算。对于布尔值非运算对其进行取反操作,True变False,False变True。

5.2 and 逻辑与

  • and 可以对符号两侧的值进行与运算。只有符号两侧的值为True时,才会返回True,只有有一个False就会返回False。
    注:and 运算符是找False的,如果第一个值为False,则不再看第二个值,直接返回False。
r = True and True
r1 = True and False
r2 = False and True
r3 = False and False
print('第一次r与运算结果为%s'%r)
print('第二次r与运算的结果为%s'%r1)
print('第三次r与运算的结果为%s'%r2)
print('第四次r与运算的结果为%s'%r3)
第一次r与运算结果为True
第二次r与运算的结果为False
第三次r与运算的结果为False
第四次r与运算的结果为False

5.3 or 逻辑或

  • 或运算两个值中只要有一个是True,就返回True
    注意:or 运算是寻找True,只有有True,就会返回True
r1 = True or True
print('第一次r值得判断结果为%s'%r1)
第一次r值得判断结果为True
r = False or True
print('第二次r值的判断结果为%s'%r)
第二次r值的判断结果为True
r = False or False 
print('第三次r值的判断结果为%s'%r3)
第三次r值的判断结果为False

5.4 非布尔值得与或运算

1. 什么是非布尔值得与或运算?
即,我们计算的对象的值不是布尔值。如:1,2,3等数字符,a,v等字母。非布尔值得运算有自己的运算规则。
2. 非布尔值的运算规则

  • 2.1 与(and)运算
    与运算是找False,若第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值。

案例:

r = 1 and 2
print(r)
2

解析:
根据非布尔值得and 运算规则,我们寻找是False。计算机首先对第一个值1判断为布尔值True,则计算机继续判断第二个值2是否为False,结果第二个值2为True,则返回第二个值2

r_1 = 0 and 2
print(r_1)
0
  • 2.2 非布尔值的或运算规则
    或运算是找True,如果第一个值是True,则不看第二个值,则直接返回第一个值,否则直接返回第二个值。
y = 1 or 0
print(y)
1

解析:根据非布尔值的or运算规则,当计算机寻找到第一个是值为True时,则返回第一个值。

y_1 = 0 or 1
print(y_1)
1

6. 条件运算符

  • 条件运算符又称三元运算符,我的理解是三元运算符是有三部组成:两个语句和一个表达式,因此称为三元运算符。
    在这里插入图片描述

  • 语法
    语句1 + if 条件表达式 else +语句2
    ####注意不要忘记else,表达式后面不加冒号:

  • 执行流程:
    执行时,先对表达式进行求值判断,如果是True则执行语句1,并返回执行结果;如果表达式求值判断为False,则执行语句2,并返回执行结果

  • 案例 1-1`

a= 10
b = 30
print(f'a大于b执行的结果为:{a-b}') if a > b  else  print(f'小于b执行的结果为{b-a}')
小于b执行的结果为20

案例1-2

#求a 和 b之间的最大值
a = 300
b = 40
print(f'如果a大于b ,\n我们求得a和b之间的最大值是:{max(range(40,300))}')  if a > b else print(f'如果a 小于b ,\n我们求得a和b之间的最小值是:{min(range(0,40))}')
如果a大于b ,
我们求得a和b之间的最大值是:299

案例1-3

a = 300
c = 100
print(f'如果a大于c ,\n我们求得a和c之间的最大值是:{max(range(100,300))}')  if a > c  else print(f'如果a 小于c ,\n我们求得a和c之间的最小值是:{min(range(100,300))}')
如果a大于b ,
我们求得a和b之间的最大值是:299

.

7.运算符的优先级

参考:
https://docs.python.org/3/reference/expressions.html#operator-precedence

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值