- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python语法简介-MarkMail.doc
Python语言简介
Python是一种脚本语言。以开放的开发接口和独特的语法著称。尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据 HYPERLINK 介绍,这个时间可以上溯至1990年),已经有十几年的时间,它的流行也有很久,在嵌入脚本、互联网应用、系统管理和维护等领域,Python使用的非常广泛。
Python的语法与我们常见的C系语法有很大不同,对于Python,书写格式也是语法的部分。主要表现在,每一个子语句段都要比它的父级缩进一层。例如:
a, b = 0, 1
while b 1000:
... print b,
... a, b = b, a+b
...
以上是一段求Fibonacci数列的程序,和…都是Python控制台的交互提示符。我们可以看到,while循环的循环体不是通过括号或者end之类的关键字标示,而是用缩进与上一级区分开。在Python中,每级代码之间的缩进距离不做要求,但是在同一个文件中必须保持一致,最常见的写法是缩进四个空格。
理解这一点后,Python代码的可读性非常高。在强制性的书写规范下,更容易写出规范的代码。
Python支持通用的各种语法结构,包括if、while/for循环、函数、类、异常处理以及模块(module)和包(Package)。以下是一些常见的语法示例:
(展示Python代码)
时间所限,我们不可能在这里详细了解Python语言,对于交互式开发人员,有几点值得注意,在这里简单介绍下:
Python采用命名—对象实体机制。任何Python中的元素都可以看作是一种对象。包括所有的数据类型和定义。对变量的定义和赋值,实际上是将一个命名绑定到托管环境中的一个对象上。这个过程不涉及对象本身的运算,也不进行类型检查,所以在程序运行过程中可以任意对某个命名赋值并改变其类型。
Python对象在运行期可以动态的添加和删除成员,不受类型限制(当然,也可以设计出静态类型的数据结构)。
Python支持运算符重载。
Python C API
Python虚拟机开放了大量的API,几乎所有的语法内容,和虚拟机功能,都可以通过C-API从外部调用实现。加上整个虚拟机开放源码,用C语言操作Python虚拟机非常方便,从某种意义上说,Python可以作为一个C语言的运行时环境存在。同时,C语言也可以作为Python的底层扩展使用。
Python C API的引用头文件是python.h,在Python安装目录的include子目录可以找到。静态连接库pythonxx.lib(xx=主版本号+一级子版本号,如python2.4对应python24.lib)在libs目录下。
扩展Python系统
扩展Python,即编写可供Python加载的模块,由Python程序进行调用。简单来讲,主要有以下几个步骤:
编写符合Python封装约定的函数和结构定义。对于函数而言,要求参数均为PyObject*
或其“子”类型。当然,C语言中没有这样的语法,这个继承关系是Python语法意义的。而对于自定义的对象,Python有一套完备的约定,我们在Python的文档中可以看到若干示例。(展示代码)。
对于需要开放的函数,要编写方法定义表,这是一个UNION,按照固定格式填写数据。(展示代码)。对于类型对象,则是通过PyModule_AddObject方法引入。
要引入函数定义的话,还需要执行模块初始化函数。
将项目编译为动态链接库,放在Python的DLLs路径即可。
嵌入Python解释器
在C程序中嵌入Python解释器并不复杂,基本的流程如下:
调用Py_Initialize()函数,初始化虚拟机。
编写操作虚拟机的命令。
调用Py_Finalize()函数释放虚拟机资源。
Python虚拟机提供了丰富的API以供操作,基本上用Python脚本可以实现的功能,通过API都可以实现。当然通常不会完全使用API,而是以API和内嵌脚本结合使用,在Python文档中提供了一个简单的例子,演示了常用的模块和对象引入、执行可回调对象,变量提取等功能(展示代码)。
综合技术——扩展式嵌入
我们可以将Python虚拟机嵌入C/C++程序的同时,通过扩展代码,将我们需要的内容引入Python虚拟机,这样,就可以在虚拟机中通过Python脚本访问C++环境中提供的扩展内容,在掌握了扩展和嵌入技术后,这个应用十分自然和简便,在Python文档中,有一个实例说明了这中应用方式。(展示代码)
Boost.Python
Python虚拟机本身以标准C编写,它的API也均为C型式,直接应用在C++程序中略有不便。通常我们会使用一些
您可能关注的文档
最近下载
- 医院中央空调小型机组维保整体服务方案.docx VIP
- “四议两公开”会议记录模板.pdf VIP
- 【语文】《在马克思目前的讲话》课件 2023-2024学年统编版高中语文必修下册.pptx VIP
- 数码摄像机-松下-AJ-D965MC说明书.pdf VIP
- 2024年巡察整改专题民主生活会个人“聚焦四个方面”对照检查材料范文2篇.docx VIP
- 人工智能对文化产业的推动.pptx VIP
- 软件的项目可行性的研究的报告编写.ppt VIP
- 一种用于处理高硫高砷金矿的提金剂及其制备方法.pdf VIP
- 中国甲状腺疾病诊治指南ppt.pptx VIP
- 《中国抗癌协会甲状腺癌整合诊治指南(2022精简版)》解读PPT课件.pptx VIP
文档评论(0)