Python运算符优先级

102 篇文章 0 订阅

一、一些Python运算符优先级

运算符     描述
**              指数 (最高优先级)
~ + -  按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //      乘,除,取模和取整除
+ -            加法减法
>> <<     右移,左移运算符
&             位 'AND'
^ |            位运算符
<= < > >=  比较运算符
<> == !=   等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not      身份运算符
in not in     成员运算符
not or and 逻辑运算符

二、ChatGPT

Python中的运算符遥相呼应了它们在数学和逻辑运算中的处理顺序。下面是一个大致的列表,按照优先级由高到低排列:
1. ():括号,用于改变运算顺序。
2. **:指数。
3. +x, -x, ~x:一元加,一元减和按位取反。
4. *, @, /, //, %:乘,矩阵乘,除,整除和取模。
5. +, -:加和减。
6. <<, >>:位移运算符。
7. &:按位与。
8. ^:按位异或。
9. |:按位或。
10. ==, !=, >, >=, <, <=, is, is not, in, not in:比较运算符,包括身份运算符和成员资格运算符。
11. not:逻辑非。
12. and:逻辑与。
13. or:逻辑或。
优先级高的运算符会被优先计算。运算符的优先级决定了复合表达式的求值顺序。相同优先级的运算符通常从左至右求值(例外是指数运算符`**,它是从右至左的),但是我们可以使用括号()`来改变运算顺序。
举个例子,表达式`3 + 5 * 2`会先计算乘法`5 * 2`(结果为10),然后再加上3,得到13;若要改变运算顺序,可以使用括号:`(3 + 5) * 2`先计算加法得到8,然后乘以2得到16。

三、文心一言

Python中的运算符优先级遵循一定的规则,这些规则决定了在没有括号的情况下,如何对表达式中的运算符进行求值。以下是一个简化的Python运算符优先级列表,从最高到最低:

括号 ( ):括号内的表达式会首先被求值。
指数运算符 ( ** ):例如 x ** y。
正负号 ( +x, -x, +y, -y ):一元运算符。
乘法、除法、取模和整除 ( *, /, %, // ):从左到右进行求值。
加法和减法 ( +, - ):从左到右进行求值。
位移运算符 ( <<, >> ):左移和右移。
位运算符 ( & ):按位与。
位运算符 ( ^ ):按位异或。
位运算符 ( | ):按位或。
比较运算符 ( <, <=, >, >=, !=, == ):比较运算符用于比较两个值。
成员测试运算符 ( in, not in ):检查某个值是否是某个序列(列表、元组、字典或字符串)的成员。
身份运算符 ( is, is not ):检查两个对象是否是同一个对象。
逻辑运算符 ( not ):一元逻辑运算符,表示非。
逻辑运算符 ( and ):二元逻辑运算符,表示与。
逻辑运算符 ( or ):二元逻辑运算符,表示或。
当表达式中包含多个运算符时,Python会按照上述优先级顺序进行求值。如果你想要改变默认的求值顺序,可以使用括号来明确地指定你想要先进行计算的部分。例如:

result = (2 + 3) * 4  # 先进行括号内的加法运算,再进行乘法运算

在这个例子中,(2 + 3)会首先被计算得到5,然后再乘以4,最终得到20。如果没有括号,则先进行乘法运算,这通常不是我们希望的结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

109702008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值