文章目录
一、算术运算符
1.运算符:
用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
例如:2+3,其操作数是2和3,运算符是“+”。
2.算数运算符
表现形式:
(1)加法运算符+
例如:
x=1+2
print(x)
如果是两个字符串相加,则会进行拼串操作。
(2)减法运算符-
x=5-2
print(x)
字符串不能进行相减,会报错。
(3)乘法运算符*
x=2*2
print(x)
两个字符串不能进行相乘,但是字符串可以和数字相乘,返回一个被重复若干次数的字符串。
(4)除法运算符/
x=6/2
print(x)
做除法运算时,总会返回一个浮点型数值,且0不能作除数,会报错。
(5)整除运算符//
x=7//3
print(x)
(6)取余运算符%
x=7%3
print(x)
(7)幂运算符**
x=2**3
print(x)
x = a ** 0.5即为对a开平方。
二、赋值运算符
概念:等号“=”可以将右侧的值赋值给左侧的变量。
例如:
x=10
print(x)
x+=a等价于x=x+a
x-=a等价于x=x-a
x*=a等价于x=x*a
x/=a等价于x=x/a
x//=a等价于x=x//a
x%=a等价于x=x%a
例如:
x=2
x+=3
print(x)
x=5
x%=2
print(x)
三、比较运算符
比较运算符是用来比较两个值之间的关系,总会返回一个布尔类型的值,如果关系成立,返回True,关系不成立则返回False。
r=10>20 print(r)
会打印出False。
>运算符:比较左侧值是否大于右侧值;
<运算符:比较左侧值是否小于右侧值;
>=运算符:比较左侧值是否大于或等于右侧值;
<=运算符:比较左侧值是否小于或等于右侧值;
==运算符:比较两个对象的值是否相等;
!=运算符:比较两个对象的值是否不相等。
例如:
r=2>True
print(r)
比较字符串:
r='2'>'1'
print(r)
打印True
r='2'>'11'
print(r)
打印True
r='a'>'b'
print(r)
打印False
r='ab'>'b'
proint(r)
打印False
r='2'>'20'
print(r)
打印False
字符串比较是逐位比较,若比较出大小关系则返回结果,否则进入字符串下一位比较。
※==只能比较两个对象的值是否相等,不能判断两个对象是否为同一个对象;
要用is来判断两个对象是否为同一个对象,判断的依据是对象的id值。
例如:
r=0 is False
print(r)
打印False
r=1 is not True
print(r)
打印True
内存中存储的是对象的id、类型、值,==比较的是值,is比较的是id。
四、逻辑运算符
主要用来进行逻辑判断。
1.逻辑非not
a=True
a=not a
print(a)
对a进行非运算
not可以对符号右侧的值进行非运算。
a=None
a=not a
print(a)
None为空值。
对于非布尔值,非运算会先将其先转化为布尔值,再做取反运算。
对于0、None、空字符串和其他一些表示空性的值会转化成False,剩下的转化为True。
2.逻辑与and
a=True and True
print(a)
打印True
a=True and False
print(a)
打印False
a=False and True
print(a)
打印False
a=False and False
print(a)
打印False
and可以对符号两侧的值进行与运算:
与运算找False
只有当符号两侧的值均为True时,才返回True;
只要有一个为False,就会返回False;
如果左边的值为True,则看右边,右边的值即为返回值;
如果左边的值为False,则直接返回False
True and print('Hello')
打印Hello,
False and print('Hello')
返回False。
3.逻辑或or
a=True or True
print(a)
打印True
a=True or False
print(a)
打印True
a=False or True
print(a)
打印True
a=False or False
print(a)
打印False
逻辑或可以对符号两侧的值进行或运算:
或运算找True
如果两个之中其中有一个为True,就会返回True;
两个值均为False,则返回False;
如果左边的值为True,则不看第二个值,直接返回True;
如果左边的值为False,看右边,右边的值即为返回值
True or print('Hello')
返回True,
False or print('Hello')
打印Hello。
五、非布尔值的与或运算
与运算:
如果第一个值是False,则返回第一个值,否则返回第二个值。
r = 1 and 2
print(r)
打印2
解释:1不为空值,所以为True
r = 0 and 1
print(r)
打印0
解释:0为空性值,所以返回0
r = None and 0
print(r)
打印None
解释:None为空性值,所以直接返回None
或运算:
如果第一个值是True,则返回第一个值,否则返回第二个值。
r=1 or 2
print(r)
打印1
r=0 or 1
print(r)
打印1
r=1<2<3
print(r)
打印True
六、条件运算符
又称三元运算符
语法为:语句1 if 表达式 else 语句2
执行过程:条件运算符在执行时,先对条件表达式进行求值判断,如条件表达式为True,则执行语句1并返回执行结果,为False则执行语句2并返回执行结果。
例如:
print('Python') if True else print('Java)
打印Python
a=10
b=20
print('a is bigger than b') if a > b else print('b is bigger than a')
打印b is bigger than a
a=30
b=50
m=a if a > b else b
print(m)
打印50
a=20
b=50
c=30
m=a if a>b else b
m=m if m>c else c
print(m)
打印50
a=20
b=50
c=30
m=a if (a>b and a>c) else (b if b>c else c)
print(m)
打印50
七、运算符的优先级
a=2 or 3 and 4
print(a)
打印2
解释:and的优先级比or的高,所以先算3 and 4得到4,再算2 or 4得到2。
a = not 4 > 2 and 5 < 6 or 3 < 4
print(a)
打印True
a = not (4 > 2 and 5 < 6 or 3 < 4)
print(a)
打印False,分析同上。
关于运算符的优先级的详细情况和运算符的其他知识可参考https://blog.csdn.net/qq_41573234/article/details/81351693
或查看Python官方文档
https://docs.python.org/3/reference/expressions.html#operator-precedence。
转载:https://blog.csdn.net/CUFEECR/article/details/102711465