运算符
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是 “+”
比如: + - * /
1.算术运算符
表现形式:+ - * / 号
数字相加代码示例
y=1+4
print('y'=,y)
执行结果:5
字符串相加(+)则会进拼串操作,代码示例
s='hello'
s1='world'
s2=s+' '+s1
print(sa)
执行结果:hello world`
数字相减(-)代码示例
减法不支持字符串的操作
x=3-1
print(x)
执行结果:2
数字相乘()代码示例*
x=3*3
print(x)
执行结果:9
字符串相乘()代码示例*
如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定的次数
x=‘hello’
y=x*5
print(x)
执行结果为:hellohellohellohellohello
数字相除(/)代码示例
除法运算符总会返回一个浮点类型的值
x=3/1
print(x)
执行结果为:3.0
数字整除(//)代码示例
整除只会保留计算后的整数位,只会返回一个整型
x=7/3
print(x)
执行结果为:2.0
数字幂运算()代码示例
取1个数几次幂,也就是一个数的几次方
x=2**2
print(x)
执行结果为: 4.0
数字开平方运算(* 0.5)代码示例*
取1个数的平方根,也会返回一个浮点型
x=25**0.5
print(x)
执行结果为:5.0
数字取余(% 模)代码示例
取2个数相除的余数
x=7/3
print(x)
执行结果为: 4.0
2.赋值运算符
就是将一个数据赋值给一个变量,由=连接,=就是赋值运算符
例:a=10
- += 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
3.比较运算符
比较运算符就是用来比较两个值之间的关系,总会返回一个布尔值
1 > 比较左侧值是否大于右侧值
2 >= 比较左侧值是否大于或者等于右侧值
3 < 比较左侧值是否小于右侧值
4 <= 比较左侧值是否小于或者等于右侧值
5 == 比较是的2边的值
注:整数和字符串不能做比较
字符串之间的比较是按ascll码来比,如果一个字符串有多个字符,那么比较的方式是对位比较,也就是按位置一个一个的比。如果前面的能比出结果就输出相应的结果,如果不能比出结果,刚继续比,直到比出结果
如果我们想比较id 怎么办? 可以用到 is 和 is not
is 比较两个对象是否是一个对象 比较的是对象的id
is not 比较两个对象是否不是同一个对象,比较的是对象的id
4.逻辑运算符
- 1 not 逻辑非
可以对符号右侧的值进行非运算
对于布尔值,非运算会对其进行取反操作 True -> Fasle False -> True
注:对于非布尔值,会先将其转换为布尔值,然后在取反
例如 0 空串 None还有一些其他是空性的值会转换成False,剩下的都是True
x=2 and 4
print(x)
执行结果为:4
-
2 and 逻辑与
可以对符号两侧的值进行与运算
只有在符号两侧都是True的情况下才会返回True,只要有一个Fasle就会返回False(说白了与运算就是找Fasle) -
3 or 逻辑或
or 可以对符号两侧的值进行或运算
或运算两个值只要有一个True,就会返回True, 或运算就是找True -
4 非布尔值的与或运算
当我们对非布尔值进行与或运算的时候,Python会将其当做布尔值进行运算,最终会返回原值
x=2 and 4
print(x)
执行结果为:4
- 与运算的规则
与运算找Fasle,如果第一个值是Fasle,就不看第二个值
如果第一个值不是False,则直接返回第二个值 - 或运算的规则
或运算就是找True,如果第一个值是True,则不看第二个值
如果第一个值是Fasle,则返回第二个值
5.条件运算符
又叫:三元运算符
例:
image.png
语法: 语句1 if 条件表达式 else 语句2
例:
r=1 < 2 <3
print(x)
执行结果为:True
a=30
b=40
print('a的值大') if a>b else print('b的值大')
执行结果为:b的值大
max=a if a>b else b
print(max)
执行结果为:40
# a,b ,c 三个变量,通过条件运算符获取三个值当中的最大值
a=30
b=40
c=60
max=a if a>b and a>c else b if b>c else c
print(max)
执行结果为:60
以上代码不利于阅读,我们可以将其调整一下方便阅读,调后代码如下:
# a,b ,c 三个变量,通过条件运算符获取三个值当中的最大值
a=30
b=40
c=60
max=a if (a>b and a>c) else (b if b>c else c)
print(max)
执行结果为:60
6.运算符的优先级
例:
a = 2 or 3 and 4
分析以上代码
- or 和 and 优先级一样 从左往右运算 结果4
- or 优先级高 结果 4
- and 优先级高 结果 2
- 运算符的优先级可以根据表格来查询,规则:优先级越高越优先计算,如果优先级一样就是从左往右计算
a = not 4 >2 and 5 > 6 or 3 < 4
a = not (4 >2 and 5 > 6 or 3 < 4)
执行结果为:True
执行结果为:False
运算符的优先级表格
运算符说明 | Python运算符 | 优先级 |
---|---|---|
索引运算符 | x[index]或x[index:index2[:index3]] | 18、19 |
属性访问 | x.attrbute | 17 |
乘方 | ** | 16 |
按位取反 | ~ | 15 |
符号运算符 | +或- | 14 |
乘、除 | *、/、//、% | 13 |
加、减 | +、- | 12 |
位移 | >>、<< | 11 |
按位与 | & | 10 |
按位异或 | ^ | 9 |
按位或 | | | 8 |
比较运算符 | ==、!=、>、>=、<、<= | 7 |
is运算符 | is、is not | 6 |
in运算符 | in、not in | 5 |
逻辑非 | not | 4 |
逻辑与 | and | 3 |
逻辑或 | or | 2 |
网友评论