楔子 不少编程语言中的"字符串"都是使用字符数组(或者称字符序列)来表示,比如C语言和go语言就是这样。 一个字节最多能表示256个字符,所以对于英文来说足够了,因此一个英文字符占一个字节即可 ...
楔子 我们在上一篇中说到了,面向对象理论中 类 和 对象 这两个概念在Python内部都是通过 对象 实现的。 类 是一种对象,称为 类型对象 , 类 实例化得到的也是 对象 ,称为 实例对象 。 并且根据对象的不同特点还可以进一步分类: 可变对象:对象创建之后可以本地修改 不可变对象:对象创建之后不可以本地修改 定长对象:对象所占用的内存大小固定 不定长对象:对象所占用的内存大小不固定 但是 对 ...
2020-07-29 18:12 1 1539 推荐指数:
楔子 不少编程语言中的"字符串"都是使用字符数组(或者称字符序列)来表示,比如C语言和go语言就是这样。 一个字节最多能表示256个字符,所以对于英文来说足够了,因此一个英文字符占一个字节即可 ...
楔子 当我们想要执行一个py文件的时候,只需要python xxx.py即可,但是你有没有想过这背后的流程是怎么样的呢?从这里开始我们就开始进入到Python虚拟机的环节了,之前都是在介绍Python中的一些内置对象,不过虚拟机的执行流程、以及背后的原理却更是值得我们关注的。 这里我们先来 ...
Python中一切皆对象 关于Python,你肯定听过这么一句话:"Python中一切皆对象"。没错,在Python的世界里,一切都是对象。整型是一个对象、字符串是一个对象、字典是一个对象,甚至int、str、list等等,再加上我们使用class自定义的类,它们也是对象。 像int ...
楔子 Python的字典是一种映射型容器对象,保存了键(key)到值(value)的映射关系。通过字典,我们可以快速的实现值的查找,json这种数据结构也是借鉴了Python中的字典。而且字典在Python中是经过高度优化的,因为Python底层也在大量的使用字典这种数据结构。 那么这次 ...
楔子 从现在开始,我们就来分析Python中常见的内置对象、以及对应的实例对象,看看它们在底层是如何实现的。但说实话,我们在前面几节中介绍对象的时候,已经说了不少了,不过从现在开始要进行更深入的分析。 除了对象本身,还要看对象支持的操作在底层是如何实现的。我们首先以浮点数为例,因为它是最简单 ...
Python中的整型在底层是怎么定义的就行了。 int实例对象的底层实现 Python中的整数底层对应的结构 ...
楔子 在上一篇中我们说到了Python中的对象在底层的数据结构,我们知道Python底层通过PyObject和PyTypeObject完成了C++所提供的对象的多态特性。在Python中创建一个对象,会分配内存并进行初始化,然后Python会用一个PyObject *来保存和维护这个对象 ...
楔子 这一次我们分析一下Python中的字符串,首先Python中的字符串是一个变长对象,因为不同长度的字符串所占的内存空间是不一样的;但同时字符串又是一个不可变对象,因为一旦创建就不可以再修改了。 而Python中的字符串是通过unicode来表示的,因此在底层对应的结构体 ...