1. 异常处理中的return
def some_func():try:return 'from_try'finally:return 'from_finally'
>>> some_func()
'from_finally'
  • 当在 “try…finally” 语句的 try 中执行 return, break 或 continue 后, finally 子句依然会执行.
  • 函数的返回值由最后执行的 return 语句决定. 由于 finally 子句一定会执行, 所以 finally 子句中的 return 将始终是最后执行的语句.
  1. 相同对象的判断
class WTF:pass
>>> WTF() == WTF() # 两个不同的对象应该不相等
False
>>> WTF() is WTF() # 也不相同
False
>>> hash(WTF()) == hash(WTF()) # 哈希值也应该不同
True
>>> id(WTF()) == id(WTF())
True
  • 当调用 id 函数时, Python 创建了一个 WTF 类的对象并传给 id 函数. 然后 id 函数获取其id值 (也就是内存地址), 然后丢弃该对象. 该对象就被销毁了.
  • 我们连续两次进行这个操作时, Python会将相同的内存地址分配给第二个对象. 因为 (在CPython中) id 函数使用对象的内存地址作为对象的id值, 所以两个对象的id值是相同的.
  • 综上, 对象的id值仅仅在对象的生命周期内唯一. 在对象被销毁之后, 或被创建之前, 其他对象可以具有相同的id值.
  • 那为什么 is 操作的结果为 False 呢? 让我们看看这段代码.
class WTF(object):def __init__(self): print("I")def __del__(self): print("D")
>>> WTF() is WTF()
I
I
D
D
False
>>> id(WTF()) == id(WTF())
I
D
I
D
True

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

  1. float覆盖int作为字典key时的对应的value
some_dict = {}
some_dict[5.5] = "Ruby"
some_dict[5.0] = "JavaScript"
some_dict[5] = "Python"
>>> some_dict[5.5]
"Ruby"
>>> some_dict[5.0]
"Python"
>>> some_dict[5]
"Python"

由此可见key为5.0的值被key为5的值覆盖了
具体分析参考

python中容易被忽视的三个点相关推荐

  1. python csv库,Python 中导入csv数据的三种方法

    Python 中导入csv数据的三种方法,具体内容如下所示: 1.通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文 ...

  2. python中pd series_Python 数据处理(三)——pd.Series

    前言 对于如何使用 R 来处理表格数据,相信你已经学习到很多了. 下面我们的重点是介绍如何在 Python 中处理表格型数据,提到 Python 数据处理,那就不得不说 pandas 了. panda ...

  3. python中实现网页解析的三种工具分别是_对Python3 解析html的几种操作方式小结

    python3 能解析html吗 python3爬虫获取HTML文档时的问题.你羡慕小编一身潇洒无牵无挂小编却羡慕你有家有他有人等你回家 anaconda环境下python获取一个网站的HTML,不知 ...

  4. Python中的urllib,urllib三种不同的请求方式

    1.urllib获取服务器的资源 自定义爬虫的重要组件 获取百度首页的资源: #3.x的标准写法 import urllib.request import urllib.parse#百度的首页 fro ...

  5. python中pca算法_Python使用三种方法实现PCA算法

    主成分分析(PCA) vs 多元判别式分析(MDA) PCA和MDA都是线性变换的方法,二者关系密切.在PCA中,我们寻找数据集中最大化方差的成分,在MDA中,我们对类间最大散布的方向更感兴趣. 一句 ...

  6. python中readlines_python读文件的三个方法read()、readline()、readlines()详解

    文件 runoob.txt 的内容如下:1:www.runoob.com 2:www.runoob.com 3:www.runoob.com 4:www.runoob.com 5:www.runoob ...

  7. Python中读取txt文件的三种可行办法

    DataTest.txt中的文件内容,文件最后尽量不要留空行,否则有的时候会出现error 1,2,3 4,5,6 7,8,9 第一种方式:使用 csv.reader()读取txt文件 import ...

  8. Python中给字典排序的三种方法(有一种你绝对没见过)

    我们经常在计算机等级考试中遇到词频排序的问题,我们一般先通过生成字典的方法,统计词的频次,然后给字典排序.那么如何快速地给字典按照键值进行排序呢?下面介绍三种方法.第一种方法相对比较常见,但是第二种方 ...

  9. python中函数不包括第三库函数_jieba库是python内置函数库,可以直接使用,不需要import_学小易找答案...

    [单选题] [填空题]The Japanese C__Code provides two ways impose liability for defective products : breach o ...

最新文章

  1. 关于spring aop Advisor排序问题
  2. Alpha多样性稀释曲线rarefraction curve还不会画吗?快看此文
  3. 【Python】Numpy简单入门
  4. linux php 升级5.3,Linux php5.2.10升级到PHP5.3.29
  5. linux tar压缩包目录,如何在Linux上使用tar命令解压和压缩文件
  6. 《iOS应用逆向工程(第2版)》高清电子书 PDF
  7. 如何调试SAP CRM产品主数据应用后台ABAP端抛出的错误消息
  8. [SPOJ - FTOUR2] Free tour II(点分治 + 背包dp + 启发式合并)
  9. C语言中 . 和 - 区别详解(举例解释)
  10. Helm 3 完整教程(七):Helm 函数讲解(1)逻辑和流控制函数
  11. mysql8.0密码重置
  12. typeorm实战之findOne()方法
  13. 电磁屏蔽一般可分为三种
  14. 测试工程师需要具备的能力
  15. FFmpeg 直播黑屏问题分析解决
  16. 清华大学的同学,究竟有多难?
  17. Unity预计算全局光照的学习(速度优化,LightProbe,LPPV)
  18. 又来读者言论 [ 光影人像 东海陈光剑 的博客 ]
  19. CTime 与COleDateTime
  20. opencv 视频中人脸检测

热门文章

  1. 经典的arena内存池实现-levelDB的内存池实现
  2. autojs教程:完善找图函数,图片内随机点击
  3. ADSL初始地址及用户名密码大全(转)
  4. hana服务器销售资质,hana认证服务器
  5. 在.NET中实现彩色光标/动画光标和自定义光标[转]
  6. 2D游戏知识点二、Unity 2D游戏主角基本功能和动画
  7. 移动端h5不支持font-family里面的微软雅黑等等字体
  8. 戒指的带法,终于收齐了
  9. OpenCore-Legacy-Patcher 0.5.1正式版
  10. 2.12-3.20上周的习惯坚持下来了✌️精诚所至金石为开,加油兄弟