Python运算符

2020-03-15  本文已影响0人  静静地就好

Python运算符主要包括算术、比较、赋值、逻辑、成员、身份运算符等等。

一、算术运算符:

1、加减乘除:+  -  * /

2、取模:%,返回除法的余数

3、 幂:**,返回X的Y次幂

4、整除://,返回商的整数部分

a = 5

b = 2

print("a + b = " , a + b, end = '\n') #7

print("a - b = " , a - b, end = '\n') #3

print("a * b = " , a * b, end = '\n') #10

print("a / b = " , a / b, end = '\n') # 2.5

print("a除以b的余数=" , a % b, end = '\n') #1

print("a的b次幂=" , a ** b, end = '\n') #25

print("a除以b取整=" , a // b, end = '\n') #2

二、比较运算符

1、 ==:等于

2、 !=:不等于

3、 >:大于

4、 <:小于

5、 >=:大于等于

6、 <=:小于等于

a = 5

b = 2

print(a == b, end = ' ') # False

print(a >= b, end = ' ') # True

三、赋值运算符

1、 =:c = a + b,意思是将a + b的值赋值为c

2、+=:c += a等价于c = c + a

3、 -=:c -= a等价于c = c - a

4、 *=:c *= a等价于c = c * a

5、 /=:c /= a等价于c = c / a

6、 %=:c %= a等价于c = c % a

7、 **=:c **= a等价于c = c ** a

8、 //=:c //= a等价于c = c // a

a = 5

b = 2

a += b

print("a =", a) #7

a *= b

print("a =", a) #14

四、逻辑运算符

1、and:逻辑与运算,当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。

2、or:逻辑或运算,当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。

3、not:逻辑非运算,如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

age = int(input("请输入年龄:"))

height = int(input("请输入身高:"))

if age>=18 and age<=30 and height >=170 and height <= 185 :

    print("恭喜,你符合报考飞行员的条件")

else:

    print("抱歉,你不符合报考飞行员的条件")

4、逻辑运算符可以用来操作任何类型的表达式,不管表达式是不是 bool 类型;同时,逻辑运算的结果也不一定是 bool 类型,它也可以是任意类型。

print(100 and 200) #200

print(45 and 0) #0

print("" or "http://c.biancheng.net/python/")

#http://c.biancheng.net/python/

print(18.5 or "http://c.biancheng.net/python/") #18.5

5、逻辑运算符的本质:在 Python 中,and 和 or 不一定会计算右边表达式的值,有时候只计算左边表达式的值就能得到最终结果。另外,and 和 or 运算符会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果。

*对于 and 运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假,所以 Python 按照下面的规则执行 and 运算:

*如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。

*如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

**对于 or 运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以 Python 按照下面的规则执行 or 运算:

**如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。

**如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

url = "http://c.biancheng.net/cplus/"

print("----False and xxx-----")

print( False and print(url) )

print("----True and xxx-----")

print( True and print(url) )

print("----False or xxx-----")

print( False or print(url) )

print("----True or xxx-----")

print( True or print(url) )

执行结果:

----False and xxx-----

False

----True and xxx-----

http://c.biancheng.net/cplus/

None

----False or xxx-----

http://c.biancheng.net/cplus/

None

----True or xxx-----

True

参考链接:http://c.biancheng.net/view/2186.html

五、成员运算符

1、in:如果在指定的序列中找到值返回 True,否则返回 False。

2、not in:如果在指定的序列中没有找到值返回 True,否则返回 False。

a = [1, 2, 3, 4 ,5]

print((1 in a), end='\n') #True

print((1 not in a), end='\n') #False

六、身份运算符

1、 is:判断两个标识符是不是引用自一个对象

2、 is not:判断两个标识符是不是引用自不同对象

a= 5

b=2

print((a is b), end='  ') #False

print((a is not b), end='  ') #True

七、运算符优先级

1、运算符优先级:

图1 Python运算符优先级

2、运算符结合性:所谓结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性。

例如对于表达式对于100 / 25 * 16,/和*的优先级相同,/和*都具有左结合性,因此先执行左边的除法,再执行右边的乘法,最终结果是 64。

Python 中大部分运算符都具有左结合性,也就是从左到右执行;只有单目运算符(例如 not 逻辑非运算符)、赋值运算符和三目运算符例外,它们具有右结合性,也就是从右向左执行。

3、综上,当一个表达式中出现多个运算符时,Python 会按照上图先比较各个运算符的优先级,按照优先级从高到低的顺序依次执行;当遇到优先级相同的运算符时,再根据结合性决定先执行哪个运算符:如果是左结合性就先执行左边的运算符,如果是右结合性就先执行右边的运算符。

上一篇下一篇

猜你喜欢

热点阅读