04.python学习-运算符

04.python学习-运算符

一、运算符

1. 运算符的概念

运算符用于执行程序代码的运算,会针对一个以上操作数项目进行运算。
如:2+3,操作数为2、3,运算符为 + 。

2. 算术运算符

  • 加法,表现形式 +
  1. 两个数字类型相加,会进行四则运算加法。
  2. 两个字符串相加,会进行字符串的拼串。
  • 减法,表现形式 -
  1. 两个数字类型相减,进行四则运算减法。
  2. 两个字符串不能进行减法运算。
  3. True运算时当做1
    False运算时当做0
  • 乘法,表现形式 *
  1. 同数字的四则运算乘法。
  2. 两个字符串不能相乘。
  3. 字符串和整数,返回字符串重复若干次的字符串。
    3.1 整数为0时,返回空字符串。
    3.2 整数为负时,无意义,返回空字符串。
  4. 字符串和浮点,会提示错误。
  • 除法,表现形式 /
  1. 运算结果总会返回一个浮点类型
  2. 除数不能为0,会报错。
  • 整除,表现形式 //
    特点:只会保留计算后的整数位。
7 // 3 ==> 2
  • 取余、取模,表现形式 %
    取余数。
6 % 4 ==> 2
  • 幂运算,表现形式 **
    求一个数的N次幂
2 ** 3 ==> 8

开平方操作:

25 ** 0.5 ==> 5

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
%=     x%=3 相当于 x = x % 3

4. 比较运算符

大于 >
小于 <
等于 =
大于等于 >=
小于等于 <=
不等于 !=

在字符串比较时,将字符串从第一个字符开始,比较字符的ASCII码值
多个字符串比较时,比较方式是对位比较。依次比较字符。
如果比较出结果就返回结果。

r = '2' > '11'		 # True
r = 'ab' > 'b'       # False
r = 'abc' == 'bcd'   # False
r = 'abc' != 'bcd'   # True
r = 1 == True        # True

== 比较的是2个对象的值是否相等
!= 比较2个对象的值是否不相等
is 比较2个对象是否是同一个对象,比较的是对象的id
is not 比较2个对象是否不是同一个对象,比较的是对象的id

5. 逻辑运算符

什么是逻辑?
not 逻辑非、and 逻辑与、

1. 逻辑非 not

not可以对符号右侧的值进行非运算,对于布尔值,非运算会对布尔值取反计算。
not None ⇒ True
对于非布尔值,先转化为布尔值,然后进行取反。

2. 逻辑与 and

左右两边都为True,则为True
左右两边有False,则为False
逻辑与 找False,有False就返回False。没找到False,则返回True。

3. 逻辑或 or

左右两边有True,则为True
左右两边都为False,则为False
逻辑或 找True,有True就返回True。没有True,则返回False

4. 非布尔值的与或运算

python会先将其当做布尔值,然后进行与或运算,最终会返回原值。

r = 1 and 2      # 1为True,返回2给r赋值
r = 1 and 0      # 0
r = 0 and 1      # 0 
1. 与运算规则 and :

找False,如果第一个值为False,直接返回第一个值,不看第二个值。
如果第一个值为True,直接返回第二个值(如果是算式,计算后返回结果)。

2. 或运算规则 or :

找True,如果第一个值为True,直接返回第一个值,不看第二个值。
如果第一个值为False,直接返回第二个值。

6. 条件运算符(三元运算符)

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

语句1  if   表达式  else  语句2
print('python') if 3>2 else print('java')

7. 运算符优先级

和数学中优先级一样

a = 2 or 3 and 4
推理

8. 作业

1. ‘ax’<‘xa’ 为True还是False?

先比较字符’a’与字符’x’的ASCII码值的大小
ord(‘a’) = 97
ord(‘x’) = 120
所以 ‘a’ < ‘x’ ,所以 ‘ax’<‘xa’ 为True

2. is与==的区别?

is 判断两个对象是否是同一个对象,比较的是变量的id
== 判断两个对象的值是否相等,比较的是变量的value

3. 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值

a=1
b=2
c=3

print(a) if a>b and a>c else print(b) if b>c else print©

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值