- 博客(7)
- 收藏
- 关注
原创 python源码分析笔记(8)
1.Python程序的执行过程实际上Python和java,C#执行原理都可以用两个词概括,------虚拟机,字节码Python有一个非常核心的东西,这个东西被称为解释器。当我运行一个程序时,例如 python my-program.py ,Python解释器立即被激活,然后开始执行,在运行之前,还要完成一个复制的工作,编译py.文件,结果主要产生一组Python的byte-code(字...
2019-07-18 14:27:38 234
转载 flask学习(一)
flask 模型类中relationship的使用及其参数backref的说明,模型类class Author(db.Model): __tablename__ = 't_author' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64)) # bk是关系...
2019-07-15 14:24:43 198
原创 python源码分析笔记(5)
1.Python的list对象先来看看PyListObject的定义typedef struct{ PyObject_VAR_HEAD; PyObject **ob_item int allocated} PyListObject;ob_item这个指针和紧接着的allocated数值正是维护元素列表也就是PyString *列表的关键。指针指向了元素列表所...
2019-07-11 11:16:34 123
原创 python源码分析笔记(4)
1.字符缓冲池Python也为PyStringObject中的一个字节的的字符对应的PyStringObject对象也设计了一个对象池,static PyStringObject *characters[UCHAR_MAX+1]其中的UCHAR_MAX是系统头文件定义的常量。当我们创建一个PyStringObject对象时,无论是通过调用PyString_FromString还是...
2019-07-10 10:32:49 128
原创 python源码分析笔记(3)
1.字符串对象PyStringObject是一个拥有可变长度内存的对象,对于表示‘hi’和'Python'的两个不同的PyStringObject对象,其内部所需的保存字符串内容的的内存空间显然是不一样的。同时,PyStringObject对象又是一个不变对象,当创建了一个PyStringObject对象之后,改对象内部维护的字符串就不能改变了。typedef struct { ...
2019-07-10 09:49:50 148
原创 python源码分析笔记(2)
一.Python中的整数对象1.首先补充一下C语言知识的盲点,Python底层都是用C写的,看的时候发现自己还是有代码看不懂,所有就先复习一下这些知识点。先说明 C语言中register关键字的作用register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码,还有就是关于参数宏的一些用法,之前C大...
2019-07-08 16:47:13 201
原创 python源码分析笔记(1)
1.python中所有对象机制的基石是Pyobject,它的定义如下typedef struct _object{ Pyobject_HEAD}PyObject#define PyObject_HEAD \ int ob_refcnt; struct _typeobject *ob_type;typedef struct_object{ int o...
2019-07-05 10:32:12 213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人