Python中这么神奇的返回键,你知道吗?

Hey man,最近学了几个有趣的小技巧,来给大家分享一些:

  1. 第一个:字典键

  2. 第二个:异常处理中的return

  3. 第三个:相同对象的判断

那么我接下来给大家详细的操作一下

第一个:神奇的字典键

Output:

"Python" 消除了 "JavaScript" 的存在?

 说明:

Python 字典通过检查键值是否相等和比较哈希值来确定两个键是否相同.

具有相同值的不可变对象在Python中始终具有相同的哈希值.

注意: 具有不同值的对象也可能具有相同的哈希值(哈希冲突).

当执行some_dict[5] = "Python"语句时, 因为Python将55.0识别为some_dict的同一个键, 所以已有值 "JavaScript" 就被 "Python" 覆盖了.

第二个:异常处理中的return

Output:

  说明:

当在 "try…finally" 语句的try中执行return,breakcontinue后,finally子句依然会执行.

函数的返回值由最后执行的return语句决定. 由于finally子句一定会执行, 所以finally子句中的return将始终是最后执行的语句.

第三个:相同对象的判断

Output:

说明:

当调用id函数时, Python 创建了一个WTF类的对象并传给id函数. 然后id函数获取其id值 (也就是内存地址), 然后丢弃该对象. 该对象就被销毁了.

当我们连续两次进行这个操作时, Python会将相同的内存地址分配给第二个对象. 因为 (在CPython中)id函数使用对象的内存地址作为对象的id值, 所以两个对象的id值是相同的.

综上, 对象的id值仅仅在对象的生命周期内唯一. 在对象被销毁之后, 或被创建之前, 其他对象可以具有相同的id值.

那为什么is操作的结果为False呢? 让我们看看这段代码.

Output:

正如你所看到的, 对象销毁的顺序是造成所有不同之处的原因.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老猫编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值