运算符就像我们平时生活中遇到的数学符号,看见数学符号我们就知道该如何处理已给的数据,编译器执行程序中遇到特定的算术和逻辑操作时,就需要用到运算符。
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、Python常用运算符
1.算术运算符(+、-、*、/、//、%、**)
- +(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
- 这里加减乘除就不做过多介绍和我们平时生活中数学的计算方式一样,唯一需要注意的就是进行除法运算时,返回的数据类型一定是浮点型,我在进行输出函数的说明时也简单提过一下。主要说一下剩下的三种运算符。
- % (取余、取模) -求余数 ;x % y - 求x除以y的余数
提示:取余操作经常用来判断一个数是奇数还是偶数还可以用来取整数的低位数等等
print(10 % 3)
# 1
print(100 % 25)
# 0
print(11 % 3)
# 2
# 判断一个数的奇偶性
sum1 = 22
if sum1 % 2 == 0:
print('偶数')
else:
print('奇数')
# 结果为偶数
# 去整数低位数
num = 839821
print(num % 10) # 取个位数
print(num % 100) # 取十位数和个位数
print(num % 1000) # 取百位数和十位数还有个位数
- //(整除) - 求商,商向小取整
- 在进行整除操作时,商是往最小的值取的,不会采用我们平常认为的四舍五入,去判断得出的结果左右两边整数的大小,取小的数。
提示:去掉整数的低位数,保留高位数
print(5 // 2) # 2 因为2.5在2和3的中间而且2比3小,所以结果为2
print(-5 // 2) # -3 -2.5在-2和-3之间,-3比-2小,所以结果为-2
# 去掉整数的低位数,保留高位数
num = 2673
print(num // 10) # 267
print(num // 100) # 26
print(num // 1000) # 2
- **(幂运算)
- x ** y - 求x的y次方
提示:幂运算也可以用来进行开方处理
# 2的3次方
print(2 ** 3) # 8
# 数字的负平方计算方法为将原数的倒数进行平方 2^-2=1/4
print(2 ** -2) # 0.25
# 把4进行开平方处理
print(4 ** 0.5) # 2.0
# 把8进行开立方处理
print(8 ** (1/3)) # 2.0
2.比较运算符(==、!=、>、<、>=、<=)
- <(小于)、>(大于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
- python的比较运算符支持连写表示范围
提示: 所有比较运算符的运算结果都是布尔值
print(100 > 200) # False
print(100 < 200) # True
print(100 == 100) # True
print(100 != 200) # True
age = 20
print(18 <= age <= 28) # True
3.逻辑运算符(and(逻辑与运算)、or(逻辑或运算)、not(逻辑非))
- and(逻辑与运算)
"""
1)应用场景: 用于连接两个需要同时成立的条件,相当于生活中的'并且'
2)运算规则: 条件1 and 条件2 - 如果两个条件都成立结果就成立,否则不成立
True and True - True
True and False - False
False and True - False
False and False - False
"""
# 案例1:判断num是否能同时被3和7整除
num = 42
# 条件1: num是否能被3整除 - num % 3 == 0
# 条件2: num是否能被7整除 - num % 7 == 0
print(num % 3 == 0 and num % 7 == 0) # True
- or(逻辑或运算)
"""
1)应用场景:如果要求两个条件中有一个条件成立就行,就这两个条件用or连接,相当于生活中的'或者'
2)运算规则:条件1 or 条件2 - 如果两个条件都不成立结果是False, 否则结果是True
True or True - True
True or False - True
False or True - True
False or False - False
"""
# 练习:写程序判断指定的年是否是闰年
year = 1990
# 闰年:分为普通闰年和世纪闰年两种
# 普通闰年:能被4整除但是不能被100整除 - year % 4 == 0 and year % 100 != 0
# 世纪闰年:能被400整除 - year % 400 == 0
print((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)) # Flase
- not(逻辑非) 有点类似于取反操作
"""
1)应用场景:对一个条件进行否定的时候就使用not,相当于生活中'不'
2)运算规则: not 条件
not True - False
not False - True
"""
# 判断age是否不大于18
age = 6
print(not age > 18) # True
print(age <= 18) # 这个和上面一句是一个意思,结果True
4.成员运算符(in和not in)
- 主要用来判断序列中元素是否存在
# 元素 in 序列,如果存在返回true,否则返回false
# 1.判断一个字符串是否是另一个字符串的子串
str1 = '马脑阔' in '无聊的马脑阔'
print(str1)
# True
str2 = '马脑壳' in '无聊的马脑阔'
print(str2)
# False
# 2.判断指定的值是否列表中元素
list1 = 100 in [10, 20, 30]
print(list1)
# False
list2 = 10 in [10, 20, 30]
print(list2)
# True
5.赋值运算符(=、+=、-=、*=、/=、//=、%=、**=)
- 所有的赋值运算都没有结果(赋值运算的作用和目的不是计算结果, 而是将数据保存到变量中)
- 赋值运算符左边必须是变量,右边可以是任何有结果的表达式
提示: 复合赋值运算符左边必须是赋过值的变量,先算赋值运算符右边的,再算赋值运算符
# =号就是赋值,把100赋值给变量b
b = 100
# += 就是把原本b的值加上10再赋值给变量b
b += 10 # b = b + 10 -> b = 100 + 10 -> b = 110
print(b) # 110
# -= 就是把原本b的值减20再赋值给变量b
b -= 20 # b = b - 10 -> b = 110-20 -> b = 90
print(b) # 90
# *= 就是把原本b的值乘以2再赋值给变量b
b *= 2 # b = b * 2 -> b = 90 * 2 -> b = 180
print(b) # 180
# %= 就是把原本b的值取余后再赋值给变量b
b %= 3 # b = b % 3 -> b = 180 % 3 -> 结果 = 60 b=0
print(b) # 0 因为没有余数所以为0
# 可以用来进行累加计算100之内的和之类的问题
sum1 = 0
for i in range(101):
sum1 += i
print(sum1)
# 5050
5.运算符的优先级
运算符的优先级
算术运算符:** > *、/、//、% > +、-
有小括号先算小括号里面的
算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
总结
python的运算符基本和我们平时学的数学没有什么太大出入,其中运算符和循环配合使用可以写很多逻辑性的程序,实现很多操作,其中里面运算的优先级也支持我们数学里面的括号。