自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探秘簡(jiǎn)單快捷的Python應(yīng)用程序

開(kāi)發(fā) 后端
Python應(yīng)用程序列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語(yǔ)言之一,并建議人們從Python開(kāi)始學(xué)習(xí)編程,下面就隨我進(jìn)入Python應(yīng)用程序美妙世界。

在向大家詳細(xì)介紹Python應(yīng)用程序之前,首先讓大家了解下什么是Python應(yīng)用程序,然后全面介紹Python應(yīng)用程序的種種特性,Python的Virtual Machine是一種更高級(jí)的Virtual Machine。

但是它不僅為開(kāi)發(fā)者帶來(lái)許多讓人感興趣的特性,同時(shí)在性能方面也有所改善。在上一篇中,我們?yōu)樽x者詳細(xì)介紹了Python應(yīng)用程序在核心語(yǔ)言方面的變化,而本文則將要為讀者介紹新版本中標(biāo)準(zhǔn)程序庫(kù)方面的變化。

主要的新增物是一個(gè)有序字典類,使其有了自己的PEP。當(dāng)遍歷一個(gè)排序后的字典的時(shí)候,您將得到一個(gè)鍵列表和一些值。并且其順序正是其插入的順序——這正是我們所希望的。 下面我們用一個(gè)實(shí)例來(lái)說(shuō)明排序后的字典和常規(guī)字典之間的區(qū)別:

  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.   #創(chuàng)建HTML解析器的實(shí)例  
  24.  
  25.   lParser = parseLinks()  
  26.  
  27.   #打開(kāi)HTML文件  
  28.  
  29.   lParser.feed(urllib.urlopen( \  
  30.  
  31.   "http://www.python.org/index.html").read())  
  32.  
  33.   lParser.close() 

如您所見(jiàn),有序字典維護(hù)有個(gè)元素的原始順序,而標(biāo)準(zhǔn)字典則沒(méi)有。不過(guò)有一點(diǎn)要注意,如果你使用命名參數(shù)而非鍵/值對(duì)來(lái)填充此字典的話。它就維護(hù)其順序。 也許這是一個(gè)bug。

因?yàn)槭褂妹麉?shù)是一種初始化字典的理想方式,并且個(gè)元素有一個(gè)明確的從左到右的順序。我們這里使用的元素與***個(gè)例子完全一樣:這個(gè)類可以使用一組典型的字典方法即keys()、values()和items()來(lái)訪問(wèn)其內(nèi)容;

不過(guò),這個(gè)類的update()方法跟常規(guī)字典的update()方法有所不同。它可以接受序列或者值為整數(shù)的映射。如果使用的是序列。它會(huì)統(tǒng)計(jì)元素個(gè)數(shù),并將其加到原先元素個(gè)數(shù)上。對(duì)于映射,它會(huì)統(tǒng)計(jì)該映射中的每個(gè)對(duì)象,并將結(jié)果加到原先的統(tǒng)計(jì)個(gè)數(shù)中。以下代碼對(duì)上面的示例中已經(jīng)初始化過(guò)的Counter類進(jìn)行更新:

  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.   #創(chuàng)建HTML解析器的實(shí)例  
  24.  
  25.   lParser = parseLinks()  
  26.  
  27.   #打開(kāi)HTML文件  
  28.  
  29.   lParser.feed(urllib.urlopen( \  
  30.  
  31.   "http://www.python.org/index.html").read())  
  32.  
  33.   lParser.close() 

Itertools模塊不僅可以處理無(wú)窮序列,而且還可以處理有限序列。在Python應(yīng)用程序中,它引入了兩個(gè)新的函數(shù):combinations_with_replacement()函數(shù)和compress()函數(shù)。

【編輯推薦】

  1. 漫談Python 源代碼編制技巧
  2. 簡(jiǎn)單易于操作的Python 工具詳解
  3. 有關(guān)Python應(yīng)用領(lǐng)域進(jìn)行說(shuō)明介紹
  4. PythonAndroid面向?qū)ο蟮木幊獭?FONT>Python應(yīng)用程序
  5. 如何使用Python模塊解析配置文件 ?
責(zé)任編輯:chenqingxiang 來(lái)源: 51CTO.com
相關(guān)推薦

2010-02-06 16:02:57

Android 應(yīng)用程

2010-08-27 10:41:41

iPhone核心應(yīng)用程序

2009-07-29 15:15:31

ASP應(yīng)用程序

2021-04-30 16:54:27

分散式應(yīng)用程序

2009-12-23 10:18:21

ADO.NET 應(yīng)用程

2023-12-15 08:38:48

Shortcuts快捷方式權(quán)限

2010-03-02 13:06:22

SilverLight

2021-08-30 20:19:55

應(yīng)用程序

2010-03-01 18:26:25

Python

2024-02-19 07:51:52

WebargsPythonWeb

2021-09-26 08:30:31

Python應(yīng)用程序代碼

2011-03-15 19:45:27

Windows Azu

2014-01-03 10:15:38

OpenShift應(yīng)用程序部署

2010-02-22 10:27:44

Python應(yīng)用程序

2010-02-26 14:40:15

Python應(yīng)用程序

2021-05-10 23:39:31

Python日志記錄

2011-12-07 12:01:31

ibmdw

2010-02-22 17:46:57

Python應(yīng)用程序

2010-02-01 14:05:03

2022-10-21 14:21:46

JavaScript筆記技能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)