python 表达式

表达式简介

表达式是运算符和操作数所构成的序列

#这些都属于表达式#

>>> a = 1

>>> b = [1,2,3,4]

>>> c > b

>>> c = 2 + 6

>>> a or b and c

>>> e = int('1') * 3

#上面表达式中,类似于+、=、>、or、and这种的都是属于运算符,而他们两边的字符、数字则是属于操作数,然后整个的“a = 1”#

 

表达式的优先级

 表达式是有优先级的,最简单的如我们赋值运算符中的数学算式:“0 * 1 + 2”和“0 + 1 * 2”结果一定不一样,在“0 + 1 * 2”中优先运算“1 * 2”。

当然并非是只有赋值运算才优先级,并且在各种运算符之间也有优先级。

#在下面这个运算中,假设a、b、c都是ture值,因为and 的优先级大于 or ,所以最后结果是a#
>>> a or b and c
a

#在下面这个运算中,假设a、b、c、d都是ture值#
#因为 + 的优先级大于 and 大于 or ,所以最后结果是a + b的结果#
>>> a + b or c and d
a + b

#用括号表现优先级就是:先运行a + b,再运行c or d 得到 d ,最后运行(a+b) or d#
>>> (a + b) or (c and d)
a + b

运算符优先级排序

python 表达式_第1张图片

 

但是如果表达式中有赋值运算的话则会最后执行赋值运算。

>>> a = 1
>>> b = 2
>>> c = a + b
>>> c
3


>>> a = 1
>>> b = 2
>>> c = a and b
>>> c
2

python中运算符的优先级也可以用括号来改变,就和数学公式里面一样,先计算最里面的括号,之后就是外面的括号。

>>> 1 or 2 and 3 + 4 - 5
1

>>> ((1 or 2) and 3) + 4 - 5
2

>>> (1 or ((2 and 3) + 4)) - 5
-4

 

你可能感兴趣的:(python)