探秘简单快捷的Python应用程序

开发 后端
Python应用程序列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程,下面就随我进入Python应用程序美妙世界。

在向大家详细介绍Python应用程序之前,首先让大家了解下什么是Python应用程序,然后全面介绍Python应用程序的种种特性,Python的Virtual Machine是一种更高级的Virtual Machine。

但是它不仅为开发者带来许多让人感兴趣的特性,同时在性能方面也有所改善。在上一篇中,我们为读者详细介绍了Python应用程序在核心语言方面的变化,而本文则将要为读者介绍新版本中标准程序库方面的变化。

主要的新增物是一个有序字典类,使其有了自己的PEP。当遍历一个排序后的字典的时候,您将得到一个键列表和一些值。并且其顺序正是其插入的顺序——这正是我们所希望的。 下面我们用一个实例来说明排序后的字典和常规字典之间的区别:

  1.  import HTMLParser  
  2.  
  3.   import urllib  
  4.  
  5.   import sys  
  6.  
  7.   #定义HTML解析器  
  8.  
  9.   class parseLinks(HTMLParser.HTMLParser):  
  10.  
  11.   def handle_starttag(self, tag, attrs):  
  12.  
  13.   if tag == 'a':  
  14.  
  15.   for name,value in attrs:  
  16.  
  17.   if name == 'href':  
  18.  
  19.   print value  
  20.  
  21.   print self.get_starttag_text()  
  22.  
  23.   #创建HTML解析器的实例  
  24.  
  25.   lParser = parseLinks()  
  26.  
  27.   #打开HTML文件  
  28.  
  29.   lParser.feed(urllib.urlopen( \  
  30.  
  31.   "http://www.python.org/index.html").read())  
  32.  
  33.   lParser.close() 

如您所见,有序字典维护有个元素的原始顺序,而标准字典则没有。不过有一点要注意,如果你使用命名参数而非键/值对来填充此字典的话。它就维护其顺序。 也许这是一个bug。

因为使用命名参数是一种初始化字典的理想方式,并且个元素有一个明确的从左到右的顺序。我们这里使用的元素与***个例子完全一样:这个类可以使用一组典型的字典方法即keys()、values()和items()来访问其内容;

不过,这个类的update()方法跟常规字典的update()方法有所不同。它可以接受序列或者值为整数的映射。如果使用的是序列。它会统计元素个数,并将其加到原先元素个数上。对于映射,它会统计该映射中的每个对象,并将结果加到原先的统计个数中。以下代码对上面的示例中已经初始化过的Counter类进行更新:

  1.  import HTMLParser  
  2.  
  3.   import urllib  
  4.  
  5.   import sys  
  6.  
  7.   #定义HTML解析器  
  8.  
  9.   class parseLinks(HTMLParser.HTMLParser):  
  10.  
  11.   def handle_starttag(self, tag, attrs):  
  12.  
  13.   if tag == 'a':  
  14.  
  15.   for name,value in attrs:  
  16.  
  17.   if name == 'href':  
  18.  
  19.   print value  
  20.  
  21.   print self.get_starttag_text()  
  22.  
  23.   #创建HTML解析器的实例  
  24.  
  25.   lParser = parseLinks()  
  26.  
  27.   #打开HTML文件  
  28.  
  29.   lParser.feed(urllib.urlopen( \  
  30.  
  31.   "http://www.python.org/index.html").read())  
  32.  
  33.   lParser.close() 

Itertools模块不仅可以处理无穷序列,而且还可以处理有限序列。在Python应用程序中,它引入了两个新的函数:combinations_with_replacement()函数和compress()函数。

【编辑推荐】

  1. 漫谈Python 源代码编制技巧
  2. 简单易于操作的Python 工具详解
  3. 有关Python应用领域进行说明介绍
  4. PythonAndroid面向对象的编程——Python应用程序
  5. 如何使用Python模块解析配置文件 ?
责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2010-02-06 16:02:57

Android 应用程

2010-08-27 10:41:41

iPhone核心应用程序

2009-07-29 15:15:31

ASP应用程序

2021-04-30 16:54:27

分散式应用程序

2009-12-23 10:18:21

ADO.NET 应用程

2023-12-15 08:38:48

Shortcuts快捷方式权限

2010-03-02 13:06:22

SilverLight

2010-03-01 18:26:25

Python

2021-08-30 20:19:55

应用程序

2021-09-26 08:30:31

Python应用程序代码

2024-02-19 07:51:52

WebargsPythonWeb

2021-05-10 23:39:31

Python日志记录

2010-02-22 10:27:44

Python应用程序

2010-02-26 14:40:15

Python应用程序

2011-03-15 19:45:27

Windows Azu

2014-01-03 10:15:38

OpenShift应用程序部署

2010-02-02 15:37:11

2010-02-26 11:08:29

Python应用程序

2011-12-07 12:01:31

ibmdw

2010-02-01 14:05:03

点赞
收藏

51CTO技术栈公众号