原文:《深度剖析CPython解释器》13. 剖析Python的流程控制语句(if、for、while),以及异常捕获机制

楔子 在上一章中,我们介绍了Python虚拟机中常见的字节码指令。但我们的流程都是从上往下顺序执行的,在执行的过程中没有任何变化,但是显然这是不够的,因为怎么能没有流程控制呢。下面我们来看看Python所提供的流程控制手段,其中也包括异常检测机制。 Python虚拟机中的if控制流 if字节码 if语句算是最简单也是最常用的控制流语句,那么它的字节码是怎么样的呢 当然我们这里的if语句指的是if ...

2020-08-21 01:26 0 456 推荐指数:

查看详情

深度剖析CPython解释器》32. Python 和 Go 联合编程

楔子 Python 可以和 C 无缝结合,通过 C 来为 Python 编写扩展可以极大地提升 Python 的效率,但是使用 C 来编程显然不是很方便,于是本人想到了 Go。对比 C 和 Go 会发现两者非常相似,没错,Go 语言具有强烈的 C 语言背景,其设计者以及语言的设计目标都和 C ...

Wed May 19 01:39:00 CST 2021 1 2107
深度剖析CPython解释器》31. Python 和 C / C++ 联合编程

楔子 Python 和 C / C++ 混合编程已经屡见不鲜了,那为什么要将这两种语言结合起来呢?或者说,这两种语言混合起来能给为我们带来什么好处呢?首先,Python 和 C / C++ 联合,无非两种情况。 1. C / C++ 为主导的项目中引入 Python; 2. ...

Fri Feb 12 09:56:00 CST 2021 6 826
深度剖析CPython解释器》10. Python中的PyCodeObject对象与pyc文件

楔子 当我们想要执行一个py文件的时候,只需要python xxx.py即可,但是你有没有想过这背后的流程是怎么样的呢?从这里开始我们就开始进入到Python虚拟机的环节了,之前都是在介绍Python中的一些内置对象,不过虚拟机的执行流程、以及背后的原理却更是值得我们关注的。 这里我们先来 ...

Sat Aug 15 10:31:00 CST 2020 0 642
深度剖析CPython解释器》19. Python机制深度解析(第三部分): 自定义类的底层实现、以及metaclass

楔子 Python除了给我提供了很多的类之外,还支持我们定义属于自己的类,那么Python底层是如何做的呢?我们下面就来看看。 自定义class 老规矩,如果想知道底层是怎么做的,那么就必须要通过观察字节码来实现。 通过之前对函数机制的分析中,我们知道对于一个包含函数定义的Python ...

Tue Sep 01 08:58:00 CST 2020 0 469
深度剖析CPython解释器》15. Python函数机制深度解析(第二部分): 函数在底层是如何被调用的

楔子 在上一篇博客中,我们说了Python函数的底层实现,并且还演示了如何自定义一个函数,虽然这在工作中没有太大意义,但是可以让我们深刻理解函数的行为。此外我们还介绍了如何获取函数的参数,而这一次我们就来看看函数如何调用的。 函数的调用 我们以一个非常简单的函数为例,看看它的字节码 ...

Sat Aug 29 07:07:00 CST 2020 4 558
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM