Python
文章平均质量分 80
efeics
这个作者很懒,什么都没留下…
展开
-
(Python学习9)Python虚拟机中的一般表达式
1、准备工作执行.py程序时,Python解释器对PyCodeObject的co_code存储的字节码进行解释执行,同时co_consts存储了常量,co_names存储了变量名称。用compile()可将.py编译为PyCodeObject,dis模块可对PyCodeObject的字节码反编译。构建工具co_dist.py:source = open('test.py').rea原创 2013-07-08 17:18:03 · 1806 阅读 · 0 评论 -
Python中文问题
以下皆为Python2.x中--------------------1、str与unicodes = '哈哈' #str对象u = u'哈哈' #unicode对象Python系统内部表示字符串使用unicode对象,采用默认编码。str对象,即展现出的字符串,经过了utf-8或gbk方式等编码。Windows下命令行控制台使用gbk编码,所以在控制台中s原创 2013-11-07 16:37:20 · 1074 阅读 · 0 评论 -
Python处理大文件
要将一个4G的文本文件切分开读取文本文件大致有read() 、readline()、readlines()三种read()会将所有内容读入到一个字符串中readlines()将所有内容按行读取,返回一个列表,列表中每个元素是一个字符串,一个字符串是一行内容,所以可利用如下格式处理for line in f.readlines(): # 1 process(line)其原创 2013-10-03 21:23:18 · 13431 阅读 · 2 评论 -
Python2.x中文问题
python2.7.5明明加上# -*- coding: utf-8 -*-并且将.py保存为utf-8格式了可处理时,其中中文字符仍然乱码最终,将源文件编码改为ASCII,仍然添加utf-8的生命,好了怪了……原创 2013-10-03 20:58:08 · 1646 阅读 · 0 评论 -
(Python学习8)Python虚拟机框架
1、执行环境typedef struct _frame { PyObject_VAR_HEAD struct _frame *f_back; /* previous frame, or NULL */ PyCodeObject *f_code; /* code segment */ PyObject *f_builtins; /* builtin symbol原创 2013-07-06 08:25:33 · 3960 阅读 · 0 评论 -
(Python学习6)Small Python
其实就是《Python源码剖析中的》稍作改动与补充#include #include #include #include #include using namespace std;#define PyObject_Head \ int ob_refcnt; \struct _typeobject * ob_type;#define PyObject_Head_原创 2013-07-05 10:21:39 · 1727 阅读 · 0 评论 -
(Python学习7)Python编译结果——code对象与pyc文件
1、.Python程序执行过程与java类似,Python将.py编译为字节码,然后通过虚拟机执行。编译过程与虚拟机执行过程均在python25.dll中。Python虚拟机比java更抽象,离底层更远。编译过程不仅生成字节码,还要包含常量、变量、占用栈的空间等,Pyton中编译过程生成code对象PyCodeObject。将PyCodeObject写入二进制文件,即.pyc。原创 2013-07-05 20:36:41 · 6028 阅读 · 0 评论 -
(Python学习3)字符串对象
typedef struct { PyObject_VAR_HEAD long ob_shash; // 记录该字符串对象的hash值,避免重复计算 int ob_sstate; // 对象状态,是否interned char ob_sval[1]; // 实际存储的是字符串值的指针} PyStringObject原创 2013-07-04 17:02:02 · 1566 阅读 · 1 评论 -
(Pyton学习5)Dict对象
PyDictObject即字典对象,类似于C++ STL中的map,但STL中以红黑树实现,Python中dict以hash表(散列表)实现。散列表,通过Hash函数将特定对象映射为特定数字;当装载率大于2/3时,散列冲突概率增加,解决散列冲突,STL采用开链法,而Python采用开放定址法。开放定址法法,在探测冲突链上依次跳转,如果删除探测冲突链上某个元素,会使探测冲突链断裂。故而,删除原创 2013-07-04 22:00:31 · 1949 阅读 · 0 评论 -
(Python学习1) Python对象初探
跟着《Python源码剖析》,一方面学习python,另一方面学习C。简单记录,以框架为主,以防忘记。------------------------------------------------------------------------------------------1、Python一切为对象,内置类型,自建类,函数,模块,甚至运行时环境……2、一切对象都原创 2013-07-03 19:49:16 · 1008 阅读 · 0 评论 -
(Python学习4)List对象
1、PyListObject对象typedef struct { PyObject_VAR_HEAD PyObject **ob_item; Py_ssize_t allocated;} PyListObject;PyObject_VAR_HEAD中的obsize表示该list对象含有的元素个数,而allocated表示该list对象占用的内存空间。ob_it原创 2013-07-04 19:56:33 · 2506 阅读 · 2 评论 -
(Python学习2)整数对象
整数类型比较简单,定义如下(Python2.x中,在Python3.x中int与long合并)typedef struct { PyObject_HEAD long ob_ival;} PyIntObject;整数在程序执行过程中创建销毁特别频繁,Python使用整数对象池(几乎所有对象都是)来避免内存的频繁申请释放。分为小整数对象池、通用整数对象池。1、整数对象原创 2013-07-03 21:35:45 · 1579 阅读 · 0 评论 -
(Pyhton学习10)Python虚拟机中的控制流
if----for----while---- 异常机制原创 2013-07-10 16:57:00 · 2055 阅读 · 0 评论 -
Python操作泄露的QQ群数据库
之前没有一点儿操作数据库的实际经验,python也没有实现过完整的程序。几乎是走一步搜一步,学到的倒也挺多,对数据库没有那么陌生了。遇到的最大问题却是编码问题……原创 2013-11-28 22:49:29 · 15443 阅读 · 13 评论