20201001 022.运算符总结_位操作符_优先级问题

基本运算符

我们在前面讲解了“+”、“-”、“*”、“/”、“//”、“%”等运算符,这里我们继续讲解一些其他运算符,并进行学习和试验。

运算符

说明

and, or, not

布尔与、布尔或、布尔非

is, is not

同一性判断,判断是否为同一个对象

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

比较值是否相当,可以连用

|, &, ^

按位或,按位与,按位异或(异或:值不同为1)

<<, >>

移位

~

按位翻转

+, -, *, /, //, %

加,减,乘,浮点除、整数除、取余

**

幂运算

 

1. 比较运算符可以连用,并且含义和我们日常使用完全一致。

>>> a = 4

>>> 3<a<10 #关系运算符可以连用

True

注:在java和C中不可以连用。

 

2. 位操作

>>> a = 0b11001

>>> b = 0b01000

>>> c = a|b

>>> bin(c) #bin()可以将数字转成二进制表示

'0b11001'

>>> bin(c&b)

'0b1000'

>>> bin(c^b)

'0b10001'

>>> a = 3

>>> a<<2 #左移 1 位相当于乘以 2.左移 2 位,相当于乘以 4

12

>>> a = 8

>>> a>>1 #右移 1 位相当于除以 2.

老师:位操作乘除比*,/乘除运行速度快得多。

 

3. 加法操作

(1) 数字相加 3+2 ==> 5

(2) 字符串拼接 “3”+“2”==> “32”

(3) 列表、元组等合并 [10,20,30]+[5,10,100] ==>[10,20,30,5,10,100]

4. 乘法操作

(1) 数字相乘 3*2 ==> 6

(2) 字符串复制 “sxt”*3 ==> ”sxtsxtsxt”

(3) 列表、元组等复制 [10,20,30]*3 ==> [10,20,30,10,20,30,10,20,30]

 

复合赋值运算符(也被称为增强型赋值运算符?)

复合赋值可以让程序更加精炼,提高效率。

运算符

描述

示例

等价于

+=

加法赋值、

字符串拼接

sum += n

a += “sxt”

sum = sum + n

a = a + “sxt”

-=

减法赋值

num1 -= n

num = num - n

*=

乘法赋值

a *= b

a = a * b

/=

浮点除赋值

a /= b

a = a / b

//=

整数除赋值

a //= b

a = a//b

%=

取余赋值

a %= b

a = a % b

**=

幂运算赋值

a **= 2

a = a**2

<<=

左移赋值

a <<= 2

a = a<<2

>>=

右移赋值

a >>= 2

a = a>>2

&=

按位与赋值

a &= b

a = a&b

|=

按位或赋值

a |= b

a = a|b

^=

按位异或赋值

a ^= b

a = a^b

注:与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(--)

 

运算符优先级问题

如下优先级,从高到低。

运算符

描述

**

指运算(最高优先级)

~

按位翻转

* / % //

乘,除,取模和取、整除

+ -

加法减法

>> <<

右移,左移运算符

&

按位与

^ |

位运算符

<= < > >=

比较运算符

== !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

Is, is not

身份运算符

In, not in

成员运算符

Not, or, and

逻辑运算符

老师:实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织

1. 乘除优先加减

2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

 

【操作】使用 python 表示数学式:

 

(5+10*x)/5-13*(y-1)*(a+b)/x+9*(5/x+(12+x)/y)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值