zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python运算符优先级_excel运算符优先级最高的

PythonExcel 运算符 最高 优先级
2023-06-13 09:13:04 时间

大家好,又见面了,我是你们的朋友全栈君。

在 Python 中,支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 逻辑(布尔)运算符
  • 位运算符
  • 赋值运算符
  • 成员运算符
  • 身份运算符

1. 算术运算符

运算符

含义

示例

+

加:两个对象相加,或者一元加

x + y

-

减:两个对象相减,或得到负数

x – y

*

乘:两个操作数相乘,或是返回一个被重复若干次的字符串

x * y

/

除:两个操作数相除(总是浮点数)

x / y

%

取模:返回除法(/)的余数

x % y(x/y 的余数)

//

取整除(地板除):返回商的整数部分

x // y

**

幂:返回 x 的 y 次幂

x ** y

>>> a=10
>>> b=5
>>> print(a+b)
15
>>> print(a-b)
5
>>> print(a*b)
50
>>> print(a/b)
2.0
>>> print(a**b)
100000
>>> print(a//b)
2
>>> print(a%b)
0

2. 比较运算符

运算符

含义

示例

>

大于:如果左操作数大于右操作数,则为 True

x > y

<

小于:如果左操作数小于右操作数,则为 True

x < y

==

等于:如果两个操作数相等,则为 True

x == y

!=

不等于:如果两个操作数不相等,则为 True

x != y

>=

大于等于:如果左操作数大于或等于右操作数,则为 True

x >= y

<=

小于等于:如果左操作数小于或等于右操作数,则为 True

x <= y

>>> a=10
>>> b=20
>>> a==b
False
>>> a!=b
True
>>> a>b
False
>>> a<b
True
>>> a>=b
False
>>> a<=b
True

【注】在一些地方,回用 1 代表 True、0 代表 False。

3. 赋值运算符

运算符

示例

等价于

=

x = 5

x = 5(相同)

+=

x += 5

x = x + 5

-=

x -= 5

x = x - 5

*=

x *= 5

x = x * 5

/=

x /= 5

x = x / 5

%=

x %= 5

x = x % 5

//=

x //= 5

x = x // 5

**=

x **= 5

x = x ** 5

&=

x &= 5

x = x & 5

|=

x |= 5

x = x | 5

^=

x ^= 5

x = x ^ 5

>>=

x >>= 5

x = x >> 5

<<=

x <<= 5

x = x << 5

>>> a=10
>>> b=20
>>> c=0
>>> c=a+b
>>> print(c)
30
>>> c+=10
>>> print(c)
40
>>> c-=a
>>> print(c)
30
>>> c*=a
>>> print(c)
300
>>> c/=a
>>> print(c)
30.0
>>> c%=a
>>> print(c)
0.0
>>> c=a**5
>>> print(c)
100000
>>> c//=b
>>> print(c)
5000
>>> print(b)
20

4. 位运算符

运算符

含义

示例

&

按位与(AND):参与运算的两个值的两个相应位都为1,则该位的结果为1;否则为0

x & y

|

按位或(OR):参与运算的两个值的两个相应位有一个为1,则该位的结果为1;否则为0

x | y

~

按位翻转/取反(NOT):对数据的每个二进制位取反,即把 1 变为 0 ,把 0 变为 1

~x

^

按位异或(XOR):当两个对应的二进制位相异时,结果为1

x ^ y

>>

按位右移 :运算数的各个二进制位全部右移若干位

x >> 2

<<

按位左移:运算数的各个二进制位全部左移若干位,高位丢弃,地位不补 0

x << 2

>>> a=10           #a=0000 1010
>>> b=8            #b=0000 1000
>>> a & b          #0000 1000
8
>>> a | b          #0000 1010
10
>>> a ^ b          #0000 0010
2
>>> c=~a           #a的补码 = 原码 = 0000 1010  (0000 1010)取反 (1111 0101)
>>> print(c)       #(1111 0101)取反(0000 1010)
-11                #(0000 1010)+ (0000 0001) = (0000 1011) (前面加上负号)
>>> c=a>>2        #a=0000 1001
>>> print(c)      #c=0000 0010
2
>>> c=a<<2        #c=0010 1000
>>> print(c)
40

【注】~num 单目运算,对数的每一位取反,结果为 -(num+1)

  • 在计算机里面,负数是以补码存储的
  • 原码求补码:取反,+1
  • 补码求原码:取反,+1
  • 取反操作是在原码上进行的!

【例】(1) 求~4, 我们用二进制来表示4: 4 的原码: 0000 0100 取反得到: 1111 1011, 观察符号,是负数,因为负数以补码存储的,所以问题转化为: 某个数 x 的补码是 1111 1011,求 x 的值(由补码求原码) 取反: 0000 0100 +1: 0000 0101 = 5, 加上标点符号(负号) 得到结果: -5

(2) 求 ~-5,同理用二进制表示-5: 因为 -5 是负数,所以它是以 5 的补码表示的,所以转化为已知 5 的补码,求对应的原码,然后在取反. 5补码: 0000 0101, 取反: 1111 1010 +1: 1111 1011, 得到原码 取反: 0000 0100 = 4 ,加上标点负号(正号)得到结果:4

5. 逻辑运算符

运算符

含义

示例

and

x and y

逻辑与:如果 x 为 False,返回 false;否则返回 y 的计算值

or

x or y

逻辑或:如果 x 是非 0,返回 x 的值;否则返回 y 的计算值

not

not x

逻辑非:如果 x 为 False,返回 True;如果 x 为 True,返回 False

>>> a=10
>>> b=20
>>> a and b
20
>>> a or b
10
>>> not a
False
>>> not -1
False
>>> not 0
True

6. 成员运算符

运算符

含义

示例

in

如果在指定序列中找到值/变量,返回 True;否则返回 False

5 in x

not in

如果在指定序列中没有找到值/变量,返回 True;否则返回 False

5 not in x

>>> a=10
>>> b=5
>>> list=[1,2,3,4,5]
>>> a in list
False
>>> a not in list
True
>>> b in list
True
>>> b not in list
False

7. 身份运算符

身份运算符用于检查两个值(或变量)是否位于存储器的同一部分。

注意: 两个变量相等,并不意味着它们也相同。

运算符

含义

示例

is

如果操作数相同,则为 True(引用同一个对象)

x is True

is not

如果操作数不相同,则为 True(引用不同的对象)

x is not True

>>> a= 10
>>> b= 10
>>> print(a is b)
True
>>> print(a is not b)
False
>>> b=20
>>> print(a is b)
False
>>> print(a is not b)
True

8. 运算符优先级

【注】从低到高

运算符

描述

lambda

Lambda表达式

or

布尔“或”

and

布尔“与”

not x

布尔“非”

in,not in

成员测试

is,is not

同一性测试

<,<=,>,>=,!=,==

比较

|

按位或

^

按位异或

&

按位与

<<,>>

移位

+,-

加法与减法

*,/,%

乘法、除法与取余

+x,-x

正负号

~x

按位翻转

**

指数

x.attribute

属性参考

x[index]

下标

x[index:index]

寻址段

f(arguments…)

函数调用

(experession,…)

绑定或元组显示

[expression,…]

列表显示

{key:datum,…}

字典显示

‘expression,…’

字符串转换

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/206706.html原文链接:https://javaforall.cn