如何正确的对Python 进行编程

开发 后端
在这里我们将介绍Python 进行编程和GIL和线程安全,希望大家能从中理解Python里的GIL,以及GIL的前世今生,希望大家能够喜欢。

另一种方式则是整个程序全部使用Python 进行编程编写,例如一些泥巴游戏就是直接用LPC脚本编写的。本文主要研究嵌入式脚本使用方法,因为目前大部分的脚本都不能提供如VC++那样方便的调试环境。

本专栏以文章,已讨论些 XML 库,们旨以给定编程语言仿真最常见本机操作。其,首先介绍自己、于 Python  gnosis.xml.objectify 。另专门几篇文章介绍 Haskell  HaXml  Ruby  REXML 。虽然还未这里讨论过。

但 Java  JDOM Perl  XML::Grove有着类似目标。最近, comp.lang.python 新闻组注意些帖子,提 Fredrik Lundh  ElementTree,个于 Python 本机 XML 库。当然, Python 标准分发版早已包括几个 XML API。

包括:DOM 模块、SAX 模块、 expat包装器不赞成使 xmllib。其,只有 xml.dom XML 文档转换存象,您以通过节点调操作这些象。实际,您存几种不同 Python DOM 实现,其特性各有不同:

考虑速度问题,4Suite  cDomlette( Ft.Xml.Domlette) C 语言构建 DOM 树,避免使 Python 回调。当然,出于身作自,最想做Python 进行编程自己 gnosis.xml.objectify及其几种目行都极其接近库进行比较。

ElementTree目标以数据结构形式存储 XML 文档表示,这些数据结构行方式同您 Python 考虑数据方式非常相似。这里关注焦点于以 Python 进行编程,而不使您编程风格顺应 XML。

些基准测试同事 Uche Ogbuji 曾另个出版物过篇关于 ElementTree短文。(参阅 参考资料。) ElementTree DOM 做几个测试,其比较们相速度存消耗。Uche 选自己 cDomlette 作比较象。遗憾,不能使 Mac OSX 机器安装 4Suite 1.0a1(研究种变通)。然而,以根据 Uche 评估估计致性能 - 指出 ElementTree同 cDomlette相比,速度慢 30%,但消耗存少 30%。

极好奇, ElementTree gnosis.xml.objectify速度存比较,结果。实际,从未模块进行过非常精确基准测试,因始终没有个具体 比象。选择两个过去曾于基准测试文档:莎士比亚 哈姆雷特289 KB XML 版本,及 3 MB XML Web 日志。创建几个脚本,仅于 XML 文档解析几种工具象模型,但此不作任何其操作:

  1. % cat time_xo.py  
  2.     import sys  
  3.     from gnosis.xml.objectify  
  4.     import XML_Objectify,EXPAT  
  5. doc = XML_Objectify(sys.stdin,EXPAT).make_instance()  
  6. ---  
  7. % cat time_et.py  
  8.     import sys  
  9.     from elementtree  
  10.     import ElementTree  
  11. doc = ElementTree.parse(sys.stdin).getroot()  
  12. ---  
  13. % cat time_minidom.py  
  14.     import sys  
  15.     from xml.dom  
  16.     import minidom  
  17. doc = minidom.parse(sys.stdin) 

所有三个案例,Python 进行编程象创建非常类似,于 Python一样。另个窗口观察 top 输出,以评估存使;每种测试进行三遍以确保其致性,并其结果平均值(每次运行使存相同)。

【编辑推荐】

  1. 如何使Python嵌入C++应用程序?
  2. 深入探讨Ruby与Python语法比较
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解决方案
  5. 浅析Python的GIL和线程安全
责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-02-22 14:13:38

安装Python

2010-02-03 14:15:18

Python 开发

2010-02-22 10:06:17

Python调用

2010-05-07 16:50:42

Oracle trun

2010-05-17 17:09:29

Mysql LIMIT

2010-02-02 18:20:43

Python编写

2010-01-18 17:14:50

C++语言

2010-01-19 17:32:03

VB.NET流

2010-08-19 13:50:42

DB2catalog

2010-05-07 12:27:11

Oracle data

2010-02-23 10:44:00

Python 编程语言

2010-06-01 16:35:43

MySQL数据库

2010-08-13 09:55:33

DB2dart恢复数据

2013-07-08 17:41:53

Linux 系统U盘格式化

2023-04-12 08:00:00

人工智能ChatGPTPython

2022-09-16 13:26:49

云计算云迁移数据

2022-06-06 06:10:00

密码验证安全

2021-09-27 16:39:10

PythonGif压缩

2010-06-04 13:50:24

MySQL存储过程

2010-02-03 17:42:30

点赞
收藏

51CTO技术栈公众号