python字符串进行位运算_Python——比较运算符、逻辑运算符和位运算

在上节中讲到运算符中的算术运算符和赋值运算符,本节将继续介绍比较运算符、逻辑运算符和位运算符

比较运算符:大于>    小于=    小于等于<=    不等于!=    等等于==(注意:=表示赋值)

比较运算符在数字中的使用和平时在数学中学到的并没有特别之处,如下面的例子:

print(3>4)print(2<5)print(5>=1)print(1<=5)print(4!=5)

e9f27ba85db7a5bab4a17956cf80aa29.png

但是,比较运算符不仅仅能够在数字中使用,同样也可以在字符串中进行使用,比如:

print('a' > 'b')print('abc' > 'b')

aadcc89258d694d9d3b3e7b286621a78.png

可以看到上面的例子比较结果都为False,这是为什么呢?在字符串里又是怎么比较的呢?这就涉及到一个基本的知识点——ASCII编码;我们都知道计算机只能认识0和1,可是我们例子中写到的'a'、'b'、'c'并不是数字,而是字母,怎么办呢?于是便有人设计出了ACSII码表,将a、b、c这些字母用计算机能认识的0和1进行表示:

8db625042964b6ecd7457ee483e1f504.png

可以看出a对应的十进制数字为97,而b对应的十进制为98,由此可见97>98并不正确;但是'abc'>'b'为什么结果也是错误的呢?那是因为在字符串的比较运算中,会根据各个字符串的编码逐一进行比较!意思就是我先用a和b进行比较,a>b已经错了,所以就是False。

既然说到a在代表者十进制中的97,那么a能否和97进行比较呢?

print('a' > 97)print('a' == 97)print('a' != 97)

结果发现,在第一行运行发现结果报错,而第二行运行结果却为False,第三行的结果为True;这是因为,在数字和字符串之间,做==运算的结果是False,做!=运算的结果是True,不支持其他的比较运算

逻辑运算符:逻辑与and    逻辑或or    逻辑非not

与算数运算符不同,每个逻辑运算符对应着各自的规则

逻辑与:只要有一个运算符是False,结果就是False

print(2>1 and 4>2 and 10>4)print(2>3 and 5>2 and 7>2)

9bd75a3267af4cfc8b4d9b4ceda3c3f0.png

根据以上结果可以发现,1行中每个运算符都是True,所以结

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值