表 1 Python 运算符优先级和结合性一览表

运算符说明

Python运算符

优先级

结合性

优先级顺序

小括号

( )

19



︿

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 |

 | 

 |

 |


索引运算符

x[i] 或 x[i1: i2 [:i3]]

18


属性访问

x.attribute

17


乘方

**

16


按位取反

~

15


符号运算符

+(正号)、-(负号)

14


乘除

*、/、//、%

13


加减

+、-

12


位移

>>、<<

11


按位与

&

10


按位异或

^

9


按位或

|

8


比较运算符

==、!=、>、>=、<、<= 

7


is 运算符

is、is not

6


in 运算符

in、not in

5


逻辑非

not

4


逻辑与

and

3


逻辑或

or

2


逗号运算符

exp1, exp2

1


 

 示例:

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       #( 30 * 15 ) / 5
print("Value of (a + b) * c / d is ",  e)

e = ((a + b) * c) / d     # (30 * 15 ) / 5
print("Value of ((a + b) * c) / d is ",  e)

e = (a + b) * (c / d);    # (30) * (15/5)
print("Value of (a + b) * (c / d) is ",  e)

e = a + (b * c) / d;      #  20 + (150/5)
print("Value of a + (b * c) / d is ",  e)

输出结果:

Value of (a + b) * c / d is  90.0
Value of ((a + b) * c) / d is  90.0
Value of (a + b) * (c / d) is  90.0
Value of a + (b * c) / d is  50.0

 

 

REF

https://www.tutorialspoint.com/python/operators_precedence_example.htm#:~:text=Python%20Operators%20Precedence%20Example%20%20%20%20Operator,Addition%20and%20subtraction%20%209%20more%20rows%20

http://c.biancheng.net/view/2190.html

https://pythongeeks.org/python-operator-precedence/