Python全栈学习Day04 -- 运算符及优先级篇

Python全栈学习Day04 – 0709

一、算术运算符

运算符	描述
+		加 - 两个对象相加
-		减 - 得到负数或是一个数减去另一个数
*		乘 - 两个数相乘或是返回一个被重复若干次的字符串
/		除 - x除以y
%		取模 - 返回除法的余数
**		幂 - 返回x的y次幂
//		取整除 - 返回商的整数部分(向下取整)

实例:
>>> 1 + 3
4
>>> 2 - 1
1
>>> 3 * 3
9
>>> 6 / 2
3.0
>>> 9 % 3
0
>>> 4 ** 2
16
>>> 7 // 2
3
>>> -7 // 2
-4 

二、比较运算符

运算符	描述
==		等于 - 比较对象是否相等
!=		不等于 - 比较两个对象是否不相等
>		大于 - 返回x是否大于y
<		小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
>=		大于等于 - 返回x是否大于等于y。
<=		小于等于 - 返回x是否小于等于y。

实例:
>>> 1 == '1'
False
>>> 1 == 2
False
>>> 2 != '2'
True
>>> 2 != 2
False
>>> 8 > 3
True
>>> 4 < 2
False
>>> 8 >= 3
True
>>> 4 <= 2
False

三、赋值运算符

运算符	描述
=		简单的赋值运算符
+=		加法赋值运算符
-=		减法赋值运算符
*=		乘法赋值运算符
/=		除法赋值运算符
%=		取模赋值运算符
**=		幂赋值运算符
//=		取整除赋值运算符

实例:
>>> a = 1
>>> a
1
>>> a += 2
>>> a
3
>>> a -= 5
>>> a
-2
>>> a *= 8
>>> a
-16
>>> a /= 4
>>> a
-4.0
>>> a %= 2
>>> a
0.0
>>> a += 5
>>> a
5.0
>>> a **= 4
>>> a
625.0
>>> a //= 4
>>> a
156.0

四、位运算符

运算符	描述
&		按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|		按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^		按位异或运算符:当两对应的二进位相异时,结果为1
~		按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
<<		左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>>		右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

实例:
&:
>>> 12 & 8
8
>>> bin(12)
'0b1100'
>>> bin(8)
'0b1000'
>>> 3 & 7
3
>>> bin(3)
'0b11'
>>> bin(7)
'0b111'
>>> bin(3)
'0b11'
>>> bin(7)
'0b111'

|:
>>> 3 | 7
7
>>> bin(12)
'0b1100'
>>> bin(8)
'0b1000'
>>> 12 | 8
12

^:
>>> int(0b1000)
8
>>> 12 ^ 8
4
>>> 3 ^ 7
4
>>> int(0b100)
4

~:
注意,此运算过程涉及与计算机存储相关的内容,首先需要了解什么是原码、反码以及补码:
	- 原码是直接将一个数值换算成二进制数。有符号整数的最高位是符号位,符号位为 0 代表正数,符号位为 1 代表负数。无符号整数则没有符号位,因此无符号整数只能表示 0 和正数。
	- 反码的计算规则是:对原码按位取反,只是最高位(符号位)保持不变。
	- 补码的计算规则是:正数的补码和原码完全相同,负数的补码是其反码 +1;
这里用括号来表示符号位,0表示正数,1表示负数。
a=61=(0)0b0011 1101,正数补码
~a=(1)0b1100 0010,负数原码,符号位为1表示这个代表一个负数,我们要知道其表示的数值。
对应负数原码到补码的转换过程:
(1)数值部分先减一:0b1100 0001
(2)数值部分取反:0b0011 1110,数值部分62
加上符号则~a =-62= (1)0b0011 1110,负数原码

<<:
>>> bin(5)
'0b101'
>>> 5 << 2
20
>>> bin(20)
'0b10100'

>>:
>>> 50 >> 2
12
>>> bin(50)
'0b110010'
>>> bin(12)
'0b1100'

五、逻辑运算符

运算符	逻辑表达式	描述
and	x and y		布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or	x or y		布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not	not x		布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

实例
:
>>> 2 and 3
3
>>> 0 and 4
0
>>> 3 or 6
3
>>> 0 or 7
7
>>> not 3
False
>>> not 0
True

六、成员运算符

运算符		描述
in			如果在指定的序列中找到值返回 True,否则返回 False。
not in		如果在指定的序列中没有找到值返回 True,否则返回 False。

实例:
>>> 1 in [1, 2, 3]
True
>>> 1 in [9, 2, 3]
False
>>> 'a' in ('a', 1, 3)
True
>>> 'a' in ('aa', 1, 3)
False
>>> 'a' in {'a': 1}
True
>>> 'a' in {'a1': 1, 'b': 'a'}
False

七、身份运算符

运算符		描述
is			is 是判断两个标识符是不是引用自一个对象
is not		is not 是判断两个标识符是不是引用自不同对象

实例:
>>> a = 3
>>> b = 3
>>> a is b
True
>>> a = 3
>>> b = 4
>>> a is not b
True

八、运算符优先级

优先级从低到高:

Lambda  #运算优先级最低
逻辑运算符: or
逻辑运算符: and
逻辑运算符:not
成员测试: in, not in
同一性测试: is, is not
比较: <,<=,>,>=,!=,==
按位或: |
按位异或: ^
按位与: &
移位: << ,>>
加法与减法: + ,-
乘法、除法与取余: *, / ,%
正负号: +x,-x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值