python中字典中追加_Python中的真真假假

测试相等性

is和==一样吗?

358e4c3c4656c08c6f44b36026a0649f.png

·“==”操作符测试值的相等性。Python运行相等测试,递归地比较所有内嵌对象。

·"is"表达式测试对象的一致性。Python测试二者是否是同一个对象(也就是说,在同一个内存地址中)

在上一个例子中,L1和L2通过了“==”测试(他们的值相等,因为它们的所有内容都是相等的),但是is测试却失败了(它们是两个不同的对象,因此有不同的内存区域)。

再来看一个有趣的例子?

cf4dbaa83bb251abd35c90d2692d14bf.png
f30dfb3ff19026f1ec2ec7b734601bb6.png

为什么同样是字符串,is比较却不同呢?

因为在Python内部暂时储存并重复使用短字符串作为最佳化,事实上内存里只有一个字符串'spam'供S1和S2分享。而长字符串则像列表一样分配一块新的内存空间。

python中的比较

所有的Python对象也可以支持比较操作。Python的比较总是检查复合对象的所有部分,直到可以得出结果为止。事实上,当嵌套对象存在时,Python能够自动遍历数据结构,并从左到右递归地应用比较,要多深就走多深。过程中首次发现的差值将决定比较的结果。

9d3ecb7f81396880574e2163873b2271.png

因为嵌套的3大于2,这里的L1大于L2。

一般来说,Python中不同的类型的比较方法如下:

·数字通过相对大小进行比较。

·字符串是按照字典顺序,一个字符接一个字符地对比进行比较("abc"<"ac")。

·列表和元组从左到右对每部分的内容进行比较。

但是在Python3.0以上版本不再支持非数字的混合类型比较,也不支持字典比较,不过字典的比较可通过items方法比较。

6b797335a9b1263045c37be1f0d3e3ea.png

真与假

在Python中,与大多数程序设计语言一样,整数0代表假,整数1代表真。不过,除此之外,Python也把任意的空数据结构视为假,把任何非空数据结构视为真。更一般地,真和假的概念是Python中每个对象的固有属性:每个对象不是真就是假,如下所示:

·数字如果非零,则为真。

·其他对象如果非空,则为真。

151a85ab44213f8696e754d2f3afba7d.png

你可以简单的用bool函数判断一个对象为真为假。

649255226664527db13c09ef9b30761a.png

判断是否为同一对象

94d78222137dfe910cd5e438af797395.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值