易截截图软件、单文件、免安装、纯绿色、仅160KB

Python扩展和嵌入

1.Python的扩展
Python扩展是指运用其他语言编写某些功能模块,供Python程序调用,常用的有Python的C扩展和C++扩展。Python扩展的目的主要有两个:一是为了功能需要,另外一个原因是为了性能需要。下面介绍一下在不运用工具的情况下,运用C和C++语言对Python进行扩展的步骤。
扩展的第一步是用C或C++创建一个源程序,然后为源程序提供一个包裹以供Python调用,第三步是编译链接生成相应的dll文件。为源程序提供包裹是这里面最重要也是最繁琐的一步,它又细分为三个部分,导出函数,方法列表和初始化函数。对于扩展的每一个函数,都会有一个导出函数与之相对应,在Python的C语言扩展中,所有的导出函数都具有相同的函数原型:
    PyObject* method(PyObject* self, PyObject* args);
方法列表给出了所有能够被Python使用的方法,它由四部分组成:方法名,导出函数,参数传递方式以及方法描述。方法名是从Python解释器中调用该方法时所使用的名字。参数传递方式则规定了Python向C函数传递参数的具体形式,可选的两种方式是METH_VARARGS和METH_KEYWORDS,其中METH_VARARGS是参数传递的标准形式,它通过Python的元组在Python解释器和C函数之间传递参数,若采用METH_KEYWORD方式,则Python解释器和C函数之间将通过Python的字典类型在两者之间进行参数传递。
所有的模块都会有一个初始化函数,以便Python解释器能够正确地初始化该模块。Python解释器规定所有的初始化函数的函数名都必须以init开头,并加上模块的名字。
2. Python嵌入
Python中后期会加入一些例子说明,未完待续。。。


相关文档:

Python中的对象、变量及引用

  在Python中,我们执行表达式 a = 3,Python会怎样操作呢?
1、首先会创建一个对象表示值3
2、如果变量a不存在,创建变量a
3、把变量a连接到表示3的对象
在Python中,变量和对象存储在不同的地方,通过指针连接起来...
一个变量总是和对象连接起来,不存在不和对象连接的变量,但是大的对象可能连接到别的对象。 ......

一个大牛整理的python资源

 Python基本安装:
    * http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站;
    * http://www.activestate.com/ 集成多个有用插件的强大非官方版本,特别是针对Windows环境有不少改进;
Python文档:
    * http://www.pyth ......

Python 之禅

import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough t ......

python pyc

 什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号