运算符

2020-08-25  本文已影响0人  止于枯骨1

1.运算符

1.1运算符的概念

1.2运算符的分类

a=1+2

- 减法运算符

a=3-2

* 乘法运算符

a=3*2

/ 除法运算符

a=3/2

// 整除,只会保留计算后的整数位,总会返回一个整型

a=3//2

% 取模,求两个数相除的余数

a=3%2

** 幂运算,求一个值的几次幂

a=2**3
7D27C3C3-CB76-4241-9D0A-FAAE434AA60B.png
2.赋值运算符

简单的说,就是把等号右边的值赋值给等号左边的值
x=3
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 )


1E8554D9-B9A0-4061-933A-D79A74A3CB75.jpeg
3.比较运算

比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False

特殊的比较方式
AF399B5E-9998-4E64-BE9C-91410F83B6D9.png

注意:
1.如果是字符串的比较,比的是ASCII值.
字符串对位比较,两个字符串第一位字符的ASCII码谁大,字符串就大,不再比较后面的;第一个字符相同就比第二个字符,以此类推,需要注意的是空格的ASCII码是32,空(null)的ascii码是0.
2.is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。
==是python标准操作符中的比较操作符,是用来比较判断两个对象的value(值)是否相等.
is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同.

293F9FDF-F12C-40F9-A319-2C28B45930A8.png AD7BFBA1-6CE5-4636-B182-53D842A50208.png
4.逻辑运算符
4.1 not 逻辑非

not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True

注意:
1.对于非布尔值, 非运算(not)会将其转换为布尔值,然后在进行取反.

  1. 例如:0、空字符串、None等,这些表示空性的值就会转化为False,剩下的全是True.
a = 123  # True
a = '' #False
a = 'Python' #True
a = 0 #False
a = not a
print('a = ',a)
4.2 and 逻辑与

and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False(与运算是找False的,如果第一个值为False,则不再看第二个值)

a=3
b=5
c=5
d=8
q = a<b and b>c  #False
q = a<b and b<d  #True
print ('q = ',q)
4.2 or 逻辑或

或运算两个值中只要有一个True,就会返回True(或运算是找True的)

a=3
b=5
c=5
d=8
q = a<b or b>c  #True
q = a>c or b>c  #False
print ('q = ',q)
4.3 非布尔值的与或运算
## 非布尔值的与或运算
#非布尔值与运算,找False
result = 1 and 2            #2
result = 0 and 2            #0
result = 0 and None         #0
result = 2 and 1            #1
#非布尔值或运算,找True
result = 1 or 2             #1
result = 0 or 2             #2
result = 0 or None      #None
result = 2 or 0             #2

5.条件运算符(三元运算符)

22675802-d8c4a3dfed98a202.png

条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2

a = 1
b = 5
print('a 的值比较大') if a > b else print('b 的值比较大') # b 的值比较大

# 比较a,b的最大值
a = 2
b = 1
m = a if a > b else b
print(m)  #2
C38FD524-0DB4-4B74-A6DC-B7C0A44F32E2.png

6.运算符的优先级

运算符的优先级参照表

Operator Description
:= Assignment expression
lambda Lambda expression
ifelse Conditional expression
or Boolean OR
and Boolean AND
not x Boolean NOT
in, not in, is, is not, <, <=, >, >=, !=, == Comparisons, including membership tests and identity tests
** ** Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<, >> Shifts
+, - Addition and subtraction
*, @, /, //, % Multiplication, matrix multiplication, division, floor division, remainder [5]
+x, -x, ~x Positive, negative, bitwise NOT
** Exponentiation [6]
await x Await expression
x[index], x[index:index], x(arguments...), x.attribute Subscription, slicing, call, attribute reference
(expressions...),[expressions...], {key: value...}, {expressions...} Binding or parenthesized expression, list display, dictionary display, set display
22675802-fd0a0f6419e64ec2.png
上一篇 下一篇

猜你喜欢

热点阅读