运算符
  9JCEeX0Eg8g4 2023年11月02日 58 0

运算符

优先级

postfix

*expr*++ *expr*--

unary

++*expr* --*expr* +*expr* -*expr* ~ !

multiplicative

* / %

additive

+ -

shift

<< >> >>>

relational

< > <= >= instanceof

equality

== !=

bitwise AND

&

bitwise exclusive OR

^

bitwise inclusive OR

`

logical AND

&&

logical OR

`

ternary

? :

assignment

`= += -= *= /= %= &= ^=

Precedence

Operator

Description

Associativity

1

::

Scope resolution

Left-to-right

2

++ --

Suffix/postfix increment and decrement


()

Function call



[]

Array subscripting



.

Element selection by reference



−>

Element selection through pointer



3

++ --

Prefix increment and decrement

Right-to-left

+

Unary plus and minus



! ~

Logical NOT and bitwise NOT



(*type*)

Type cast



*

Indirection (dereference)



&

Address-of



sizeof

Size-of



new, new[]

Dynamic memory allocation



delete, delete[]

Dynamic memory deallocation



4

.* ->*

Pointer to member

Left-to-right

5

* / %

Multiplication, division, and remainder


6

+

Addition and subtraction


7

<< >>

Bitwise left shift and right shift


8

< <=

For relational operators < and ≤ respectively


> >=

For relational operators > and ≥ respectively



9

== !=

For relational = and ≠ respectively


10

&

Bitwise AND


11

^

Bitwise XOR (exclusive or)


12

`

`

Bitwise OR (inclusive or)

13

&&

Logical AND


14

`


`

15

?:

Ternary conditional

Right-to-Left

16

=

Direct assignment (provided by default for C++ classes)


+= −=

Assignment by sum and difference



*= /= %=

Assignment by product, quotient, and remainder



<<= >>=

Assignment by bitwise left shift and right shift



&= ^= `

=`

Assignment by bitwise AND, XOR, and OR


17

throw

Throw operator (for exceptions)


18

,

Comma

Left-to-right

Precedence

Operator

Description

Associativity

1

++ --

Suffix/postfix increment and decrement

Left-to-right

()

Function call



[]

Array subscripting



.

Structure and union member access



−>

Structure and union member access through pointer



(*type*){*list*}

Compound literal(C99)



2

++ --

Prefix increment and decrement

Right-to-left

+

Unary plus and minus



! ~

Logical NOT and bitwise NOT



(*type*)

Type cast



*

Indirection (dereference)



&

Address-of



sizeof

Size-of



_Alignof

Alignment requirement(C11)



3

* / %

Multiplication, division, and remainder

Left-to-right

4

+

Addition and subtraction


5

<< >>

Bitwise left shift and right shift


6

< <=

For relational operators < and ≤ respectively


> >=

For relational operators > and ≥ respectively



7

== !=

For relational = and ≠ respectively


8

&

Bitwise AND


9

^

Bitwise XOR (exclusive or)


10

`

`

Bitwise OR (inclusive or)

11

&&

Logical AND


12

`


`

13

?:

Ternary conditional

Right-to-Left

14

=

Simple assignment


+= −=

Assignment by sum and difference



*= /= %=

Assignment by product, quotient, and remainder



<<= >>=

Assignment by bitwise left shift and right shift



&= ^= `

=`

Assignment by bitwise AND, XOR, and OR


15

,

Comma

Left-to-right

结合方向

运算符

附加信息

非结合

clone new

clone 和 new


[

array()

非结合

++ --

递增/递减运算符

非结合

~ - (int) (float) (string) (array) (object) (bool) @

类型

非结合

instanceof

类型

右结合

!

逻辑操作符


* / %

算术运算符


+ - .

算术运算符 和 字符串运算符


<< >>

位运算符

非结合

< <= > >= <>

比较运算符

非结合

== != === !==

比较运算符


&

位运算符 和 引用


^

位运算符


`

`


&&

逻辑运算符


`



? :

三元运算符


`= += -= *= /= .= %= &=

= ^= <<= >>=`


and

逻辑运算符


xor

逻辑运算符


or

逻辑运算符


,

多处用到

这个表给出Python的运算符优先级(从低到高).

从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。

这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。

运算符

描述

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,...'

字符串转换

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论