小言_互联网的博客

Python全栈(一)基础之4.运算符

1049人阅读  评论(0)

一、算术运算符

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场