Python-运算符
1、运算符的概念
- 运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例如:2+3,其操作数是2和3,⽽运算符则是“+”。
2、运算符的分类
- 算数运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
3、算数运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
- 乘法运算符 表现形式 *
- 除法运算符 表现形式 /
- // 整除,只会保留计算后的整数位,总会返回⼀个整型
- % 取模,求两个数相除的余数
- ** 幂运算,求⼀个值的⼏次幂
4、赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 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 )
- %= (x %= 3 相当于 x= x % 3 )
5、比较运算符
- 比较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成⽴,返回True,否则返回False
- “>” ⽐较左侧值是否⼤于右侧值
- “>=” ⽐较左侧的值是否⼤于或等于右侧的值
- < ⽐较左侧值是否⼩于右侧值
- <= ⽐较左侧的值是否⼩于或等于右侧的值
- 特殊的⽐较⽅式
== ⽐较两个对象的值是否相等
!= ⽐较两个对象的值是否不相等
is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id
6、逻辑运算符
6.1 not 逻辑非
- not可以对符号右侧的值进⾏⾮运算,对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True
6.2 and 逻辑与
- and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
- 与运算是找False的,如果第⼀个值为False,则不再看第⼆个值
6.3 or 逻辑或
- 或运算两个值中只要有⼀个True,就会返回True
- 或运算是找True的
6.4 非布尔值的与或运算
- 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值
- ⾮布尔值与运算的规则
与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值 - ⾮布尔值或运算的规则
或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值
注意:0,空串,’‘,None等表示空性的值都能看做False,而其它值视作True。
7、条件运算符(三元运算符)
- 条件运算符在执⾏时,会先对条件表达式进⾏求值判断
- 如果判断结果为True,则执⾏语句1,并返回执⾏结果
- 如果判断结果为False,则执⾏语句2,并返回执⾏结果
- 语法: 语句1 if 条件表达式 else 语句2
8、运算符的优先级
课后作业
作业一:以4种格式化字符串的⽅式来实现 521 xxx 嫁给我好吗?
第一种:格式化字符串拼串
b = 'xxx'
print('521' + b + '嫁给我好码?')
第⼆种格式化字符串参数传递
d = 'xxx'
print('521', d, '嫁给我好吗?')
第三种格式化字符串占位符
e = 'xxx'
print('521%s嫁给我好吗?' %e)
第四种格式化字符串f'{变量}'和str.format()
h = 'xxx'
print(f'521{h}嫁给我好吗?')
print('521{}嫁给我好吗?'.format(h))
结果如下:
作业二:现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符,获取三个值中的最⼤值
a = int(input("输入第一个数:"))
b = int(input("输入第二个数:"))
c = int(input("输入第三个数:"))
d = a if a > b and a > c else b if b > c else c
print('a,b,c中输入的最大值为:{}'.format(d))
结果如下: