- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 本章主題 : *資料結構 *檔案實錄 *駕馭工具程式 常見任務 *網際網路應用 *實例操演 *問題集
這本書已接近尾聲了 。我們討論過 Python的語法 ,而且基本的資料型態也帶讀者
瀏覽一遍 ,另外 ,標準程式庫一些常常用得上的函式也做了簡單的交代 。這一章寫
作的根本信念是假定讀者已經對前面幾章的內容有了粗淺的理解 ,若有人向你問起
Python究竟是什麼玩意兒 ,絕對不會有說不 出話來窘境 。Python不僅品質優 良 ,
語法簡潔高雅 ,套上流行文化的術語 ,簡直可以說酷呆了 。當然啦 ,身為 Python
導師的兩位作者並不期待讀者憑這一本薄薄的教學手冊就能掠盡 Python的一切精
神象徵 ,P ython的實務應用和完整的參考資料還是有待讀者努力的啃讀 ,才能創
造屬於自己的一片天地 。這一章的重點就是要介紹一些 Python的軟體工程師最容
易遇見的工作任務 。我們以任務的種類做為分節的依據 ,先從資料結構說起 ,再來
是檔案實錄 ,然後是軟體開發 、網際網路應用以及軟體工程之始 ,最後 ,依然是讀
者最愛的練習搖籃 曲 ,問題集是也 。 3 1 3
3 1 4 / 第九章
資料結構
Python擁有的豪華配備 中 ,最值得稱頌的莫過於 內建的資料型態了 。第二章介紹
的串列 、辭典和 tuple等等 ,都是 Python最有力的幫手 。Python支援的內建資料
型態不僅具備高度的彈性 ,而且使用上也絕對有便利的優點 ,一旦熟悉之後 ,即使
無法達到出神入化的境界 ,想必也能體會 出愛不釋手的雀躍之情 。
複製之謎
根據 Python參考物件的技術策略可知 ,敘述 a b並不會使 a得到 b所參考的物
件 (也就是所謂的複製),而是另外再建立一個新的參考關係 ,使 a的參考位址指
向 b所參考的物件 。然而 ,有的時候實際複製物件的確是有必要的 ,共享物件並不
能解決所有的問題 ,如前例的 a b就會使得 a和 b所儲存的參考位址統統指 向 b
所參考的物件 。複製的真實與否和物件的型態有密切的關係 ;複製 串列和 tuple最
簡單的方法看起來就有點詭異 。假設 myList 是一個 串列 ,如果要做串列的複製 ,
可以像這樣寫 : newlist myList[:]
以人類的話來解讀就是 “從頭到尾整個切下來複製給 newlist”。第二章談到切片運
算時 ,曾提到切片 內定的起始索引值就是序列的開頭 (0 ),而結尾索引值就是序列
的尾端 ;因此上例的切片運算就等於整個把 myList 複製給 newlist。由於 tuple也
支援切片運算 ,當然上例的複製語法也能適用 tuple。然而 ,對辭典而言 ,情況就
不是如此 。辭典並不支援切片運算 ,為了達到複製的 目的 ,如複製 myDict ,你可
以這樣做 : newDict for key in myDict.keys : newDict[key] myDict[key]
辭典的複製可謂家常便飯 ,Python1.5 版以後 ,辭典物件就多了一個新的 copy成
員函式 ,負責執行複製的工作 。因此上面示範的辭典複製其實可以改寫成如下的敘
述 : newDict myDict.copy 常見任務 / 3 1 5
另 一個 常 用的 辭典 運 算如 今也 是辭 典 物件 的標 準 配備 了 。如 果現 在有 個辭 典
oneD ict ,你想把 oneDict 的某些 內容以另一個辭典 otherD ict 的內容予以替換更
新 ,就可以寫成 oneDict. update otherDict 。如果雞婆一點要 自己寫也行 : for key in otherDict.keys : oneDict[key] otherDict[key]
如果 oneDict的 key有一些和 otherDict 的重覆 ,那麼 oneDictkey對映的內容就會
被 otherD ictkey對映的內容給替換掉 ,而達到所謂的更新 。例如 : def mergeWithoutOverlap oneDict, otherDict : newDict oneDict.copy for key in otherDict.keys : if key in oneDict.keys : raise ValueError, the two dictionaries are sharing keys! newDict[key] otherDict[key] return newDict
不然的話 ,把兩個辭典相同 key的兩個內容項 目當成 tup
您可能关注的文档
- 走向国学与史学的_赛先生_五四前后中国人心目中的_科学_一例.pdf
- 走向对话教学——对话教学基本问题探究.pdf
- 走向“阳光财政”——2009公民税权手册发布论坛实录.pdf
- 走品质路线 做品牌营销——从中央电视台的实践看媒体广告经营的发展.pdf
- 走美2014四年级B卷试题和解答.pdf
- 走进心理学世界(上)—汤艳玲—20141124.pdf
- 走进武术(了解篇).pdf
- 资助项目总结报告.pdf
- 资源信息情报.pdf
- 资源受限Web服务.pdf
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
文档评论(0)