自学Python 12 运算符和表达式(二)

Python 运算符和表达式基础二



一、位运算符和位表达式

在Python语言中,使用位运算符可以操作二进制数据,位运算符可以直接操作整数类型的位。
在Python语言中一共有6个位运算符,假设变量a的值为60,变量b的值为13,则下表展示了各个位运算的计算过程:

运算符功能运算结果
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b)的输出结果为12,二进制解释:0000 1100
I按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1(a I b) 的输出结果为 61,二进制解释:0011 1101
^按位异或运算符:当两个二进位相异时,结果为1(a ^ b)的输出结果为 49,二进制解释:0011 0001
~取反运算符:对数据的每个二进制位取反,即把1变为0,0改为1(~a) 的输出结果为 -61,二进制解释:1100 0011
<<运左移动算符:运算数的个二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0a << 2 的输出结果为240,二进制解释:1111 0000
>>右移动运算符:把“>>”左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数a >> 2 的输出结果为15,二进制解释:0000 1111

二、逻辑运算符和逻辑表达式

在Python语言中,逻辑运算就是将变量用逻辑运算符连接起来,并对其进行求值的运算过程。
Python语言不像C、Java等编程语言,可以使用&、|、!,更加不能使用简单逻辑与(&&)、简单逻辑或(||)等简单逻辑运算符。它只有3种逻辑运算符,假设变量a的值为10,变量b的值为20,则下表展示了逻辑运算的计算过程::

运算符功能运算结果
and布尔“与” 运算符:如果x为False, x and y 返回 False, 否则它返回y的计算值(a and b)返回20
or布尔“或” 运算符:如果x是非0,它返回x的值,否则它返回y的计算值(a or b) 返回10
not布尔“非” 运算符:如果x为True,返回 False。 如果x为False, 它返回Truenot ( a and b) 返回False

三、成员运算符与成员表达式

在Python语言中,还可以使用成员运算符。通过使用成员运算符,可以测试实例中包含的一系列成员,包括字符串、列表或元组。
成员运算符比逻辑运算符要简单一点,能够验证给定的值(变量)在指定的范围里是否存在。只有两个成员分别是:in和 not in。

运算符功能运算结果
in如果在指定的序列中找到值则返回True,否则返回Falsex在y序列中,如果x在y序列中则返回返回True
not in如果在指定的序列中没有找到值则返回True,否则返回Falsex不在y序列中,如果x不在y序列中则返回返回True

四、身份运算符与身份表达式

在Python语言中,身份运算符的功能是比较两个对象是否是同一个对象,这和比较运算符中的“==”来比较两个对象的值是否相等有所区别。Python中有两个身份运算符,分别是is 和 is not。
在Python语言中身份运算符“is”是通过这个id来进行判断的。如果id一样就返回True,否则返回False。请看下面的实例:

var1 = [1,2,3]
var2 = [1,2,3]
print( var1 == var2 )   #比较运算符
print(var1 is var2 )    #身份运算符
print(var1 is not var2 )    #身份运算符

输出结果是:
在这里插入图片描述

五、运算符的优先级
Python 中运算符的运算规则是,优先级高的运算符先执行,优先级低的运算符后执行,同一优先级的运算符按照从左到右的顺序进行。需要注意的是,Python 语言中大部分运算符都是从左向右执行的,只有单目运算符(例如 not 逻辑非运算符)、赋值运算符和三目运算符例外,它们是从右向左执行的。

运算符描述(从上至下优先级降低
**指数
~ + -按位翻转,正号和负号
* / % //乘,除,取模和取整除
+ -加法,减法
>> <<右移,左移运算
&位"AND"
^ I位运算
<= < > >= == !=比较运算符
= %= /= -= += *= **赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值