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

學(xué)習(xí)Python擴(kuò)展模塊技巧說(shuō)明

開(kāi)發(fā) 后端
下面著重講述學(xué)習(xí)Python擴(kuò)展模塊時(shí)碰到的相關(guān)難題和問(wèn)題,以及學(xué)習(xí)Python擴(kuò)展模塊的技巧,如何更好的進(jìn)行Python擴(kuò)展模塊的學(xué)習(xí),希望本文能給大家?guī)?lái)幫助。

Python擴(kuò)展模塊的開(kāi)源,可移植到多種操作系統(tǒng),只要避免使用依賴(lài)于特定操作系統(tǒng)的特性,Python程序無(wú)需修改就可以在各種平臺(tái)上面運(yùn)行,這么方便的語(yǔ)言一定會(huì)超越現(xiàn)在主流的編程語(yǔ)言。

字符串可以很容易地從文件讀入或向文件寫(xiě)出。讀入數(shù)值要麻煩一些,因?yàn)閞ead()方法總是返回字符串,要把讀入的字符串傳給象string.atoi()這樣的函數(shù)。把象‘123’這樣的字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)值123。但是,當(dāng)你想保存更復(fù)雜的數(shù)據(jù)類(lèi)型如列表、字典或類(lèi)實(shí)例時(shí),讀寫(xiě)就要復(fù)雜得多。

Python的設(shè)計(jì)使程序員可以不必反復(fù)編寫(xiě)調(diào)試保存復(fù)雜數(shù)據(jù)類(lèi)型的代碼,它提供了一個(gè)叫做pickle的標(biāo)準(zhǔn)模塊。這個(gè)令人驚異的模塊可以把幾乎任何Python對(duì)象轉(zhuǎn)換為字符串表示。

這個(gè)過(guò)程叫做腌制,從對(duì)象的字符串表示恢復(fù)對(duì)象叫做恢復(fù)。在腌制和反腌制之間,對(duì)象的字符串表示可以保存在文件或數(shù)據(jù)中,甚至于通過(guò)網(wǎng)絡(luò)連接傳送到遠(yuǎn)程計(jì)算機(jī)上。如果你有一個(gè)對(duì)象x,有一個(gè)可寫(xiě)的文件對(duì)象f,最簡(jiǎn)單的腌制對(duì)象的辦法是下面一行代碼: 為了恢復(fù)對(duì)象,如果剛才的文件已打開(kāi)用于讀取,文件對(duì)象名仍為f。

(腌制和恢復(fù)還有其它用法,可以腌制多個(gè)對(duì)象,可以不把數(shù)據(jù)寫(xiě)入文件,詳見(jiàn)庫(kù)參考手冊(cè))。 pickle是保存Python擴(kuò)展模塊并被其它程序或同一程序以后再運(yùn)行時(shí)調(diào)用的標(biāo)準(zhǔn)辦法。這種做法的專(zhuān)用術(shù)語(yǔ)叫做“持久對(duì)象”。因?yàn)閜ickle使用廣泛,許多Python擴(kuò)展模塊的作者都留意使新增加的數(shù)據(jù)類(lèi)型如矩陣可以正確地腌制和恢復(fù)。

我們常常需要控制輸出格式,而不僅僅是顯示空格分開(kāi)的值。有兩種辦法控制輸出格式:一種辦法是自己進(jìn)行字符串處理。用字符串的片斷和合并操作可以產(chǎn)生任何可以想象的格式。標(biāo)準(zhǔn)模塊string包含了諸如把字符串填充到指定的列寬這樣的有用操作,后面會(huì)有提及。

還有一個(gè)函數(shù)string.zfill(),可以在數(shù)值左邊填零。此函數(shù)可以處理帶有加減號(hào)的情況:

  1. >>> string.zfill('12', 5)  
  2. '00012'  
  3. >>> string.zfill('-3.14', 7)  
  4. '-003.14'  
  5. >>> string.zfill('3.14159265359', 5)  
  6. '3.14159265359'  
  7.  
  8. %操作符的用法如下例:  
  9.  
  10. >>> import math  
  11. >>> print 'The value of PI is approximately %5.3f.' % math.pi  
  12. The value of PI is approximately 3.142.  
  13.  
  14. 如果有多個(gè)值可以用一個(gè)序表給出,這時(shí)格式字符串中要有多個(gè)格式,如:  
  15.  
  16. >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}  
  17. >>> for name, phone in table.items():  
  18. ...     print'%-10s ==> %10d' % (name, phone)  
  19. ...   
  20. Jack       ==>       4098  
  21. Dcab       ==>    8637678  
  22. Sjoerd     ==>       4127 

Python擴(kuò)展模塊錯(cuò)誤信息的***一行顯示發(fā)生的情況。例外有不同的類(lèi)型,類(lèi)型作為錯(cuò)誤信息的一部分顯示:上例中錯(cuò)誤的類(lèi)型有ZeroDivisionError、NameError和TypeError。作為例外類(lèi)型顯示的字符串是發(fā)生的例外的內(nèi)置名。這對(duì)于所有內(nèi)置例外成立,但對(duì)用戶(hù)自定義例外不一定成立(用戶(hù)***能遵守這樣的約定)。標(biāo)準(zhǔn)例外名是內(nèi)置的標(biāo)識(shí)符(不是保留關(guān)鍵字)。

此行的其余部分是錯(cuò)誤的細(xì)節(jié),其解釋依賴(lài)于例外類(lèi)型。錯(cuò)誤信息前面的部分以堆棧反跟蹤的形式顯示了發(fā)生錯(cuò)誤的上下文環(huán)境。一般這包含了列出源代碼行的一個(gè)列出源程序行的堆棧反跟蹤;然而,它不會(huì)顯示從標(biāo)準(zhǔn)輸入讀進(jìn)的行。

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. 對(duì)Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢(shì)所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來(lái)源: 博客園
相關(guān)推薦

2010-02-01 15:41:55

擴(kuò)展Python

2010-02-22 16:26:21

Python編輯

2010-01-06 13:39:51

擴(kuò)展Jquery的Js

2010-02-22 11:14:43

Python編寫(xiě)

2010-01-07 13:11:09

設(shè)置JSON

2010-01-12 10:11:36

學(xué)習(xí)C++語(yǔ)言

2010-02-23 14:41:28

Python模塊

2010-02-22 15:13:01

Python模塊

2010-03-01 10:39:18

Python源代碼

2010-02-24 16:44:58

Python 函數(shù)

2010-03-01 16:32:36

Python語(yǔ)言

2010-02-23 10:14:29

Python 源代碼

2010-01-07 16:09:04

學(xué)習(xí)JSON

2010-03-12 15:21:28

24口千兆交換機(jī)

2009-12-08 17:48:28

Web Service

2010-02-04 10:58:29

Android 源代碼

2009-12-25 17:16:35

ADOX

2023-01-02 18:15:42

PythonC++模塊

2020-12-09 11:52:28

Python字符串代碼

2010-02-06 13:47:08

C++標(biāo)準(zhǔn)擴(kuò)展
點(diǎn)贊
收藏

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