已其他python編程從入門到實踐_第1頁
已其他python編程從入門到實踐_第2頁
已其他python編程從入門到實踐_第3頁
已其他python編程從入門到實踐_第4頁
已其他python編程從入門到實踐_第5頁
已閱讀5頁,還剩364頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

書名:Pyon編程:從 作者:美]EcMaesISBN:978-7-115-42802-本書 文化發(fā) 數(shù)字版 , ,不得以任何方式和本書內(nèi)容。我們愿意相信讀者具有這樣的良知和覺悟,與我們共同保護知識。如果者有行為,我們可能對該用戶實施包括但不限于關(guān)閉該帳號等措施,并可能。社區(qū)會員 (anfangn@oookco)專享尊重為何使用Py第部分基礎(chǔ)知識第1章起步11111Pyon2和Pyon112運行Pyon113HeoWod12在不同操作系統(tǒng)中搭建Pyon121在Lnx系統(tǒng)中搭建Pyon122在OSX系統(tǒng)中搭建Pyon1314從終端運行Pyon141在Lnx和OSX系統(tǒng)中從終端運行Pyon152章變量和簡單數(shù)據(jù)類型21運行eo_wodpy時發(fā)生的情況22變量221變 22223231232合并(拼接)233234235236Pyon2中的pn24241242243使用函數(shù)s()244Pyon22525125226Pyon273章列表簡介 索引從而不是開始332修改添加和刪除元素3 1使用方法so()332使用函數(shù)soed()33333434354章操作列表41411412在fo循環(huán)中執(zhí)行的操413在fo循環(huán)結(jié)束后執(zhí)行些操作42224234244254343使用函數(shù)43使用434344使用列表的部分4 6547小結(jié)5章f語 352452552652752853f531簡單的f532f-ese534使用多個ef535省略ese53654使用f54154254355設(shè)置f56小結(jié)6章字典 添加鍵值對3先創(chuàng)建個空字典624625刪除鍵值對6266363 遍歷所有的鍵值對46 657章用戶輸入和we71函數(shù)np()711712使用n713714在Pyon27we721使用we722723725在循環(huán)中使用conn72673使用we第章函數(shù)2583831832833834結(jié)合使用函數(shù)和we848 286將函 在模塊8618628658788小結(jié)第9章類91911創(chuàng)建Dog91292921Ca92292393931子類的方法n()932Pyon27933934935936949 在個模塊中多個類從個模塊中導入多個類45946在個模塊中導入另個模塊94795Pyon969710章文件和異常101從文件中數(shù)101 10121014創(chuàng)建1015 包含百萬位的大型文件21102210231031031處理ZeoDvsonEo1032使用y-excep10331034ese1035處理FeNoFondEo103610371038失敗時聲不吭1039104數(shù)1041使用jsondp()和json1042保存 104310511章測試代碼111111111121113 21112 1123測試AnonyosSvey1124方法se113小結(jié)第二部分項目項目1外星人第12 飛121122安裝Pyga1221使用pp安裝Pyon1222在Lnx系統(tǒng)中安裝Pyga1223在OSX系統(tǒng)中安裝Pyga1231231創(chuàng)建Pygae123212331241241創(chuàng)建Sp1242在屏幕繪制飛船125重構(gòu):模塊gae_fnc1251函數(shù)c1252pdae_sc126126112621263126412651266重構(gòu)c1271272sengs1273gae_fncons1274sp1281281添 1282創(chuàng)建Be1283將到編組12841285刪除 1286限 1287創(chuàng)建函數(shù)pdae_be1288創(chuàng)建函數(shù)fe_be129 章外星創(chuàng)建第個外星人1創(chuàng)建Aen1322創(chuàng)建Aen創(chuàng)建群外星人確定行可容納多少個外星人45pdae_be138141添加Pay1411創(chuàng)建Bon在屏幕繪制按鈕44將消滅的每個外星人的點數(shù)都計入得分7最高得分項目2數(shù)據(jù)可視化15章生成數(shù)據(jù)151安裝apo151在Lnx系統(tǒng)中安裝apo151在OSX系統(tǒng)中安裝apo151在Wndowsapo151測試apo151apob1515

3使用scae1524使用scae繪制系列點7自定義顏色自動保存圖1532選擇方向15336給點915310154使用Pyga1541安裝1543創(chuàng)建De類6繪制直方圖第16 數(shù)41615模塊dae8再繪制個數(shù)據(jù)系列2制作世界人口地圖:JSON36在世界地圖呈現(xiàn)數(shù)字數(shù)據(jù)1621016317章使用171使用Web1711G和GH1712使用API1713安裝eqes4174項目3Web應(yīng)用程序第18章Django181181安裝va1811811811182182182定義模型En182遷移模型En182En1821831831映射 3顯示特定 章用戶賬戶11921應(yīng)用程序se4頁1931931使用@ogn_eqed限制41935保護頁面ed_en 章設(shè)置應(yīng)用程序的樣式并對其進行部1設(shè)置項目“學習筆記”2013修改2014使用jboon20152017設(shè)置opcs2018設(shè)置opc202部署“學習筆記2024eqeens2026為部署到Heo而修改sengs2028為部署到Heo而修改wsg 靜態(tài)文件 項目文20213在Heok203附錄A安裝PyA1在Lnx系統(tǒng)中安裝PyonA11A12在Lnx系統(tǒng)中安裝Pyon3A2在OSX系統(tǒng)中安裝PyonA21A22使用Hoebew來安裝Pyon3A3在Wndows系統(tǒng)中安裝PyonA31在Wndows系統(tǒng)中安裝PyonA32查找PyonA33將Pyon添加到環(huán)境變量PaA4Pyon關(guān)鍵字和內(nèi)置函數(shù)A41Pyon關(guān)鍵字A42PyonBB1B11在Lnx系統(tǒng)中安裝B13在Geany中運行Pyon程序B2SbeB21在OSX系統(tǒng)中安裝SbeTexB22在Lnx系統(tǒng)中安裝SbeB23在Wndows系統(tǒng)中安裝SbeTexB24在SbeTex中運行Pyon程序B25配置SbeTexB26定制SbeTexB3B31在Lnx系統(tǒng)中安裝B32在OSX系統(tǒng)中安裝B34定制IDLE的設(shè)置B4Eacs和CC1第步C11C12歇會兒C13參考本書 資 C21SackOvefowC22Py C24/eanpyonC25博客C3C31創(chuàng)建IRCC32C33IRC附錄D使用GD1安裝D11在Lnx系統(tǒng)中安裝D12在OSX系統(tǒng)中安裝D14配置D2D3D4D5D6D7D8D9D10D11D12angageedoncopyg?2016byPossandTeecoPessAgsesevedNopaofsbookaybeepodcedoansednanyfoobyanyeans,eeconcoecanca,ncdngpoocopyng,ecodng,obyanynfoaonsoageoeevasyse,woepowenpessonofecopygowneandepbse本書中文簡體字版由NoSacP 人民郵 獨 ,不得以任何方 本書內(nèi)容,如何學習編寫第個程序,每個程序員都有不同的故事。我還是個孩子時就開始學習編程了,當時我父親在計算時代的先鋒之 數(shù)字設(shè)備公司(DgaEqpenCopoaon)工作。我使用臺簡陋的計算機編寫了第個程序,這臺計算機是父親在家里的室組裝而成的,它沒有機箱,露的主板與鍵盤相連,顯示器是露的陰極射線管。我編寫的這個程序是款簡單的猜數(shù)字游戲,其輸出類似于下面這樣:miiofanumeTyogue henumemiif:25TooowGueagi50ToohighGueginTha'iWoudyouikeopayi(ye/no)noThankfopi看到家人玩著我編寫的游戲,而它完全按我預(yù)期的方式運行,我心里不知有多滿足。此情此景我都忘不了兒童時期的這種體驗直影響我至今?,F(xiàn)在,每當我通過編寫程序解決了個問題時,心里都會感到非常滿足。相比于孩提時期,我現(xiàn)在編寫的軟件滿足了更大的需求,但通過編寫程序獲得的滿足感幾乎與從前樣。本書旨在讓你盡快學會Pyon,以便能夠編寫能正確運行的程序游戲數(shù)據(jù)可視化和Web應(yīng)用程序,同時掌握讓你受益的基本編程知識。本書適合任何的讀者閱讀,它不要求你有任何Pyon編程經(jīng)驗,甚至不要求你有編程經(jīng)驗。如果你想快速掌握基本的編程知識以便專注于開發(fā)感的項目,并想通過解決有意義的問題來檢查你對新學概念本書旨在讓你成為優(yōu)秀的程序員,具體地說,是優(yōu)秀的Pyon程序員。通過閱讀本書,你將迅速掌握編程概念,打下堅實的基礎(chǔ),并養(yǎng)成良好的習慣。閱讀本書后,你就可以開始學習Pyon高級技術(shù),并能夠更輕松地掌握其他編程語言。在本書的第部分,你將學習編寫Pyon程序時需要熟悉的基本編程概念,你剛接觸幾乎任何編程語言時都需要學習這些概念。你將學習各種數(shù)據(jù)以及在程序中將數(shù)據(jù)到列表和字典中的方式。你將學習如何創(chuàng)建數(shù)據(jù)集合以及如何高效地遍歷這些集合。你將學習使用whe和 語句來檢查條件,并在條件滿足時執(zhí)行代碼的部分,而在條件不滿足時執(zhí)行代碼的另部分 你將學習獲取用戶輸入,讓程序能夠與用戶交互,并在用戶沒停止輸入時保持運行狀態(tài)。你將探索如何編寫函數(shù)來讓程序的各個部分可重用,這樣你編寫執(zhí)行特定任務(wù)的代碼后,想使用它多少次都可以。然后,你將學習使用類來擴展這種概念以實現(xiàn)更復雜的行為,從而讓非常簡單的程序也能處理各種不同的情形。你將學習編寫妥善處理常見錯誤的程序。學習這些基本概念后,你就能編寫些簡短的程序來解決些明確的問題。最后,你將向中級編程邁出第步,學習如何為代碼編寫測試,以便在進步改進程序時不用擔心可能引入bg在第二部分,你將利用在第部分學到的知識來開發(fā)三個項目。你可以根據(jù)自己的情況,以最合適的順序完成這些項目;你也可以選擇只完成其中的某些項目。在第個項目(第1214章)中,你將創(chuàng)建個類似于《太 者》的射擊游戲。這個游戲名為《外星 》,它包含多個難度不斷增加的等級。完成這個項目后,你就能夠自己動手開第二個項目(第1517章)介紹數(shù)據(jù)可視化。數(shù)據(jù)科學家的目標是通過各種可視化技術(shù)來搞懂海量信息。你將使用通過代碼生成的數(shù)據(jù)集已經(jīng)從網(wǎng)絡(luò) 自動的數(shù)據(jù)集。完成這個項目后,你將能夠編寫能對大型數(shù)據(jù)集進行篩選的程序,并以可視化方式將篩選出來的數(shù)據(jù)呈現(xiàn)出來。在第三個項目(第1820章)中,你將創(chuàng)建個名為“學習筆記”的小型Web應(yīng)用程序。這個項目能夠讓用戶將學到的與特定 相關(guān)的概念記錄下來。你將能夠分別記錄不同的主題,還可以讓其他人建立賬戶并開始記錄自己的學習筆記。你還將學習如何部署這個項目,讓任何人都能夠通過網(wǎng)絡(luò)它,而不管他身處何方。為何使用繼續(xù)使用Pyon,還是轉(zhuǎn)而使用其他語言 年都會考慮這個問題??晌乙廊粚W⒂赑yon,其中的原因很多。Pyon是種效率極高的語言:相比于眾多其他的語言,使用Pyon編寫時,程序包含的代碼行更少。Pyon的語法也有助于創(chuàng)建整潔的代碼:相比其他語言,使用Pyon編寫的代碼更容易閱 大家將Pyon用于眾多方面:編寫游戲創(chuàng)建Web應(yīng)用程序解決商業(yè)問題以及供各類有趣的公司開發(fā)內(nèi)部工具。Pyon我依然使用Pyon的個最重要的原因是,Pyon社區(qū)有形形 充滿 的人。對程序員來說,社區(qū)非常重要,因為編程絕非孤獨的 。大多數(shù)程序員都需要向解決過類似問題的人尋求建議,經(jīng)驗最為豐富的程序員也不例外。需要有人幫助解決問題時,有個聯(lián)系緊密互幫互助的社區(qū)至關(guān)重要,而對于像你樣將Pyon作為第門語言來學習的人而言,Pyon社區(qū)無疑是堅強的后盾。Pyon要是沒有NoSacPess出色的專業(yè)的幫助,本書根本不可能。BPoock邀請我編寫本 ,因此這里要深深感謝他給予我這樣的機會。TyeOan在我編寫本書的早期幫助我理清思路。LzCadwck和LeseSen詳細閱讀了每章,并提出了寶貴的意見,而AnneMaeWake讓本書的很多地方都更清晰。ReyHoffan回答了我就過程每個問題,并耐心地將我的作品變成了漂亮的。感謝技術(shù)審稿人KenneLove。我與Kenne相識于次PyCon大會,他對Pyon和Pyon社區(qū)充滿熱情,直是我獲取專業(yè)靈感的源泉。Kenne不僅檢查了本書介紹的知識是否正確,還抱著讓初學編程者對Pyon語言和編程有扎實認識的目的進行了審閱。即便如此,倘若書中有任何 點都不擔心我破壞他的設(shè)備。感謝妻子En在我編寫本書期間對我如既往的鼓勵和支持。還要感謝兒子Eve,他第一部分基礎(chǔ)知本書的第部分介紹編寫Pyon程序所需要熟悉的基本概念,其中很多都適用于所有編程語言,因此它們在你的整個程序員生涯中都很有用。第1章介紹在計算機中安裝Pyon,并運行第個程序 它在屏幕打印消息“Heowod!”。第2章論述如何在變量 第3章和第4章介紹列表。使用列表能夠在個變量 任意數(shù)量的信息,從而高效地處理數(shù)據(jù):只需幾行代碼,你就能夠處理數(shù)百數(shù)千乃至數(shù)百萬個值。5章講解使用f語句來編寫這樣的代碼:在特定條件滿足時采取種措施,而在該條件不滿足時采取另種措施。第6章演示如何使用Pyon字典,將不同的信息關(guān)聯(lián)起來。與列表樣,你也可以根據(jù)需要在字典 任意數(shù)量的信息第7章講解如何從用戶那里獲取輸入,以讓程序變 互式的。你還將學習we循環(huán),它不斷地運行代碼塊,直到指定的條件不再滿足為止。第8章介紹編寫函數(shù)。函數(shù)是執(zhí)行特定任務(wù)的被命名的代碼塊,你可以根據(jù)需要隨時運行它。第9第10章介紹如何使用文件,以及如何處理錯誤以免程序意外地 它們。你將學習Pyon異常,它們讓你能夠未雨綢第11章為代碼編寫測試,以核實程序是否像你期望的那樣工作。這樣,擴展程序時,你就不用擔心引入新的bg。要想脫離初級程序員的陣容,躋身于中級程序員的行列,測試代碼是你必須掌握的基本技能之。第1 在本章中,你將運行自己的第個程序 eo_wodpy。為此,你首先需要檢查自己的計算機是否安裝了Pyon;如果沒有安裝,你需要安裝它。你還要安裝個文本編輯器,用于編寫和運行Pyon程序。你輸入Pyon代碼時,這個文本編輯器能夠識別它們并突出顯示不同的部分,讓你能夠輕松地了解代碼的結(jié)構(gòu)。在不同的操作系統(tǒng)中,Pyon存在細微的差別,因此有幾點你需要牢記在心。這里將介紹大家使用的兩個主要的Pyon版本,并簡要介紹PyonPython2和Python當前,有兩個不同的Pyon版本:Pyon2和較新的Pyon3。每種編程語言都會隨著新概念和新技術(shù)的推出而不斷發(fā)展,Pyon的開發(fā)者也直致力于豐富和強化其功能。大多數(shù)修改都是逐步進行的,你幾乎意識不到,但如果你的系統(tǒng)安裝的是Pyon3,那么有些使用Pyon2編寫的代碼可能無法正確地運行。在本書中,我將Pyon2和Pyon3的重大差別,這樣無論你安裝的是哪個Pyon版本,都能夠按 如果你的系統(tǒng)安裝了這兩個版本,請使用Pyon3;如果沒有安裝Pyon,請安裝Pyon3;如果只安裝了Pyon2,也可直接使用它來編寫代碼,但還是盡快升級到Pyon3為好,因為這樣你就能使用的Pyon版本了。Pyon自帶了個在終端窗口中運行的解釋器,讓你無需保存并運行整個程序就能嘗試運行Pyon代碼片段。??>>>pn("HeoPyhonnepee")HeoPyhonnepee加粗的文本表示需要你輸入之后按回車鍵來執(zhí)行的代碼。本書的大多數(shù)示例都是獨立的小程序,你將在編輯器中執(zhí)行它們,因為大多數(shù)代碼都是這樣編寫出來的。然而,為高效地演示某基本概念,需要在yo終端會話中執(zhí)行系列代碼片段。只要代碼中包含三個尖括號(如?所示),就意味著輸出來自終端會話。稍后將演示如何在yo解釋器中編寫代碼。oWorld程pn("Heowod長期以來,編程界都認為剛接觸門新語言時,如果首先使用它來編寫個在屏幕顯示消息“Heopn("Heowod這種程序雖然簡單,卻有其用途:如果它能夠在你的系統(tǒng)正確地運行,你編寫的任何PyonPyon是種跨平臺的編程語言,這意味著它能夠運行在所有主要的操作系統(tǒng)中。在所有安裝了Pyon的現(xiàn)代計算機,都能夠運行你編寫的任何Pyon系統(tǒng)中,安裝Pyon在這節(jié)中,你將學習如何在自己的系統(tǒng)中安裝Pyon和運行HeoWod程序。你首先要檢查自己的系統(tǒng)是否安裝了Pyon,如果沒有,就安裝它;接下來,你需要安裝個簡單的文本編輯器,并創(chuàng)建個空的Pyon文件eo_wodpy。最后,你將運行HeoWod程序,并排除各種故障。我將詳細介紹如何在系統(tǒng)中完成這些任務(wù),讓你能夠搭建個對初學者友好的Pyon編程環(huán)境。nx系統(tǒng)是為編程而設(shè)計的,因此在大多數(shù)nx計算機中,都默認安裝了Pyon。編寫和 nx的人認為,你很可能會使用這種系統(tǒng)進行編程,他們也鼓勵你這樣做。鑒于此,要在這種系統(tǒng)中編程,你幾乎不用安裝什么軟件,也幾乎不用修改設(shè)置。在你的系統(tǒng)中運行應(yīng)用程序Tena(如果你使用的是Ubn,可按C+A+T),打開個終端窗口。為確定是否安裝了Pyon,執(zhí)行命令python(請注意,其中的p是小寫 了安裝的Pyon版本;最后的>>>是個提示符,讓你能夠輸入Pyon命令。$$py..6,25)GCC..]onType"he,"opyigh","edi"o"iene"fomoeinfoma述輸出表明,當前計算機默認使用的Pyon版本為Pyon276??吹绞鲚敵龊?,如果要退出Pyon并返回到終端窗口,可按C+D或執(zhí)行命令e t()。要檢查系統(tǒng)是否安裝了Pyon3,可能需要指定相應(yīng)的版本。換句話說,如果輸出 默認版本為Pyon27,請嘗試執(zhí)行命令python3:$$py,GCC..4oninuxType"he","opyigh","edi"o"iene"fomoeinfoma述輸出表明,系統(tǒng)中也安裝了Pyon3,因此你可以使用這兩個版本中的任何個。在這種情況下,請將本 命令python都替換為python3。大多數(shù)Lnx系統(tǒng)都默認安裝了Pyon,但如果你的Lnx系統(tǒng)不知什么原因沒有安裝Pyon或只安裝了Pyon2,而你要安裝Pyon3,請參見附錄A。安裝文本編Geany是款簡單的文本編輯器:它易于安裝;讓你能夠直接運行幾乎所有的程序(而無需通過終端來運行);使用不同的顏色來顯示代碼,以突出代碼語法;在終端窗口中運行代碼,讓你能夠習慣使用終端。附錄B介紹了其他些文本編輯器,但我強烈建議你使用Geany,除非你有充分的理由不這樣做。在大多數(shù)Lnx系統(tǒng)中,都只需執(zhí)行個命令就可以安裝$$udoap-gena為編寫第個程序,需要啟動Geany。為此,可按超級(Spe)鍵(俗稱Wndows鍵),并在系統(tǒng)中搜索Geany。找到Geany后,雙擊以啟動它;再將其拖曳到任務(wù)欄或桌面,以創(chuàng)建個快捷方式。接下來,創(chuàng)建個用于 項目的文件夾,并將其命名為pyon_wok(在文件名和文件夾名中,最好使用小寫字母,并使用下劃線來表示空格,因為這是Pyon采用 是Pyon程序;它還讓Geany知道如何運行該程序,并以有益的方式突出其中的代碼。保存文件后,在其中輸入下面行代碼:ppn("HeoPyhonwod如果你的系統(tǒng)安裝了多個Pyon版本,就必須對Geany進行配置,使其使用正確的版本。為此,可選擇菜單Bd(生成)?SeBdCoands(設(shè)置生成命令);你將看到文字Cope(編譯)和Exece(執(zhí)行),它們旁邊都有個命令。默認情況下,這兩個命令都是python,要讓Geany使用命令python3,必須做相應(yīng)的修改。如果在終端會話中能夠執(zhí)行命令python3,請修改編譯命令和執(zhí)行命令,讓Geany使用Pyon3pypyhon3-mpy_mie"你必須完全按面的代碼顯示的那樣輸出這個命令,確??崭窈痛笮懚纪耆嗤?。將執(zhí)行命令修改成下面這樣:eo_wodpy。為此,可選擇菜單BdExece單擊Exece圖標(兩個齒輪)或按F5HeoPyhonwo(pogamexiediho:0)Pe eunoonie如果沒有看到這樣的輸出,請檢查你輸入的每個字符。你是不是將prnt的首字母大寫了?是不是遺漏了引號或括號?編程語言對語法的要求非常嚴格,只要你沒有嚴格遵守語法,就會出錯。如果代碼都正確,這個程序也不能正確地運行,請參閱13節(jié)。 個終端窗口并執(zhí)行命令python或python3,再嘗試運行Pyon代碼片段。檢查Pyon版本時,你就這樣做過。下面再次這樣做,但在終端會話中輸入如下代碼>>>>>>pn("HeoPyhonnepee")HeoPyhonnepee消息將直接打印到當前終端窗口中。別忘了,要關(guān)閉Pyon解釋器,可按C+D或執(zhí)行命令et()大多數(shù)OSX系統(tǒng)都默認安裝了Pyon。確定安裝了Pyon檢查是否安裝了在文件夾Appcaons/Ues中,選擇Tena,打開個終端窗口;你也可以按Coand+空格鍵,再輸入trmna并按回車。為確定是否安裝了Pyon,請執(zhí)行命令 了安裝的Pyon版本;最后的>>>是個提示符,讓你能夠輸入Pyon命令$$py..5,:)....Type"he,"opyigh","edi",o"iene"fomoeinfoma.述輸出表明,當前計算機默認使用的Pyon版本為Pyon275??吹绞鲚敵龊螅绻顺鯬yon并返回到終端窗口,可按C+D或執(zhí)行命令et()要檢查系統(tǒng)是否安裝了Pyon3,可嘗試執(zhí)行命令python3??赡軙霈F(xiàn) 系統(tǒng)安裝了Pyon3,則無需安裝就可使用它。如果在你的系統(tǒng)中能夠執(zhí)行命令python3,則對于本書的所有命令python,都請?zhí)鎿Q為命令python3。如果不知道出于什么原因你的系統(tǒng)沒有安裝Pyon,或者只安裝了Pyon2,而你又想安裝 個終端窗口并執(zhí)行命令python或python3,再嘗試運行Pyon代碼片段。檢查Pyon版本時,你就這樣做過。下面再次這樣做,但在終端會話中輸入如下代碼>>>>>>pn("HeoPyhonnepee")HeoPyhonnepee消息將直接打印到當前終端窗口中。別忘了,要關(guān)閉Pyon解釋器,可按C+D或執(zhí)行命令et()安裝文本編SbeTex是款簡單的文本編輯器:它在OSX中易于安裝;讓你能夠直接運行幾乎所有程序(而無需通過終端);使用不同的顏色來顯示代碼,以突出代碼語法;在內(nèi)嵌在SbeTex窗口內(nèi)的終端會話中運行代碼,讓你能夠輕松地查看輸出。附錄B介紹了其他些文本編輯器,但我強烈建議你使用SbeTex SbeTex安裝程序,可 p//sbeexco/3,單擊Downoad ,并查找OSX安裝程序。SbeTex的 安裝程序后,打開它,再將SbeTex圖標拖放到Appcaons文件夾。如果你啟動Pyon終端會話時使用 令不是python,就需要配置SbeTex,讓它知道到系統(tǒng)的什么地方去查找正確的Pyon版本。要獲悉Pyon解釋器的完整路徑,請執(zhí)行$$ype-apypyhon3i/u/oa/inp現(xiàn)在,啟動SbeTex,并選擇菜單ToosBdSyseNewBdSyse{{"md:"/u/oa/in/pyo","-,"$fi,}這些代碼讓S eTex使用命令python3來運行當前打開的文件。請確保其中的路徑為 apython3獲悉的路徑。將這個配置文件命名Pyon3sbe-bd,并將其保存到默 你選擇菜單Save時SbeTex打開 為編寫第個程序,需要啟動SbeTex。為此,可打開文件夾Appcaons,并雙擊圖標SbeTex;也可按Coand空格鍵,再在彈出的搜索框中輸入sbeex創(chuàng)建個用 項目的文件夾,并將其命名為pyon_wok(在文件名和文件夾名中,最好使用小寫字母,并使用下劃線來表示空格,因為這是Pyon采 SbeTex中,選擇菜單FeSaveAs,將當前的空Pyon文件保存到文件夾pyon_wokeo_wodpy。擴展名py告訴SbeTex,文件包含的是Pyon程序;它還讓SbeTex知道如何運行該程序,并以有益的方式突出其中的代碼。保存文件后,在其中輸入下面行代碼:ppn("HeoPyhonwod如果在系統(tǒng)中能夠運行命令python,就可選擇菜單Toos?Bd或按C+B來運行程序。如果你對SbeTex進行了配置,使其使 令不是python,請選擇菜單ToosBdSyse,再選擇Pyon3。這將把Pyon3設(shè)置為默認使用的Pyon版本;此后,你就可選擇菜單ToosBd或按CoandBSbeTexHeHeoPyhonwodiihedi.如果沒有看到這樣的輸出,請檢查你輸入的每個字符。你是不是將prnt的首字母大寫了?是不是遺漏了引號或括號?編程語言對語法的要求非常嚴格,只要你沒有嚴格遵守語法,就會出錯。如果代碼都正確,這個程序也不能正確地運行,請參閱13節(jié)。Wndows系統(tǒng)并非都默認安裝了Pyon,因此你可能需要并安裝它,再并安裝個文本編輯器安裝首先,檢查你的系統(tǒng)是否安裝了Pyon。為此,在“開始”菜單中輸入command并按回車以打開個命令窗口;你也可按住Sf鍵并右擊桌面,再選擇“在此處打開命令窗口”。在終端窗口中輸入pyon并按回車;如果出現(xiàn)了Pyon提示符(>>>),就說明你的系統(tǒng)安裝了Pyon。然而,你也可能會看到條錯誤消息, python是無法識別 WndowsPyon安裝程序。為此,請 p//pyonog/downoads/。你將看到兩個按鈕,分別用于 Pyon3和Pyon2。單擊用于 Pyon3的按 安裝程序后,運行它。請務(wù)必選中復選框AddPyonoPATH(如圖1-2所示),這讓你能夠更輕松地配置系統(tǒng)。通過配置系統(tǒng),讓其能夠在終端會話中運行Pyon,可簡化文本編輯器的配置工作。打 個命令窗口,并在其中執(zhí)行命令python。如果出現(xiàn)了Pyon提示符(>>>),就說:>py0.0,,:.(ne)]oni2Type"he,"opyigh","edi"o"iene"fomoeinfoma如果是這樣,就可以直接跳到下部分 :>pyyhn'inoeogiedaannenaoexenammand,opeaepogamoahfi.在這種情況下,你就必須告訴Wndows如何找到你剛安裝的Pyon版本。命令python通常在C盤,因此請在Wndows資源管理器中打開C盤,在其中找到并打開以Pyon打頭的文件夾,再找到文件pyon。例如,在我的計算機中,有個名為Pyon35的文件夾,其中有個名為pyon的文件,因此文件pyon的路徑為C\Pyon35\pyon。如果找不到這個文件,請在Wndows資源管理器的搜索框中輸入pyon,這將讓你能夠準確地獲悉命令python在系統(tǒng)中的位置。如果認為已知道命令python的路徑,就在終端窗口中輸入該路徑 試。為此,打開個命令窗口,并輸入你確定的完整路徑:>:Pyhon35py0.0,,:.(ne)]oni2Type"he,"opyigh","edi"o"iene"fomoeinfoma Pyon了在終端會話中運行>>>p>>>pn("HeoPyhonwod")HeoPyhonwod每當要運行Pyon代碼片段時,都請打開個命令窗口并啟動Pyon終端會話。要關(guān)閉該終端會話,可按C+Z,再按回車鍵,也可執(zhí)行命令et()安裝文本編Geany是款簡單的文本編輯器:它易于安裝;讓你能夠直接運行幾乎所有的程序(而無需通過終端);使用不同的顏色來顯示代碼,以突出代碼語法;在終端窗口中運行代碼,讓你能夠習慣使用終端。附錄B介紹了其他些文本編輯器,但我強烈建議你使用Geany,除非你有充分的理由不這樣做。為編寫第個程序,需要啟動Geany。為此,可按超級(Spe)鍵(俗稱Wndows鍵),并在系統(tǒng)中搜索Geany。找到Geany后,雙擊以啟動它;再將其拖曳到任務(wù)欄或桌面,以創(chuàng)建個快捷方式。接下來,創(chuàng)建個用于 項目的文件夾,并將其命名為pyon_wok(在文件名和文件夾名中,最好使用小寫字母,并使用下劃線來表示空格,因為這是Pyon采用 是Pyon程序;它還讓Geany知道如何運行該程序,并以有益的方式突出其中的代碼。保存文件后,在其中輸入下面行代碼:ppn("HeoPyhonwod如果能夠在系統(tǒng)中執(zhí)行命令python,就無需配置Geany,因此你可以跳過下部分,直接進入“運行HeoWod程序”部分。如果啟動Pyon解釋器時必須指定路徑,如C\Pyon35\pyon,請按下面的說明對Geany進行配置。配置要配置Geany,請選擇菜單BdSeBdCoands;你將看到文字Cope和Exece,它們旁邊都有個命令。默認情況下,編譯命令和執(zhí)行命令的開頭都是python,但Geany不知道命令python在系統(tǒng)的什么地方,因此你需要在其中添加你在終端會話中使用的路徑。為此,在編譯命令和執(zhí)行命令中,加命令python:Pyhon35pyhon-mpy_mie在你的系統(tǒng)中,路徑可能稍有不同,但請務(wù)必確??崭窈痛笮懪c這里顯示的致。:Pyhon35pyhon"同樣,指定執(zhí)行命令時,務(wù)必確保空格和大小寫與這里顯示的致。圖1-3顯示了該如何在Geany現(xiàn)在應(yīng)該能夠成功地運行程序了。請運行程序eo_wodpy;為此,可選擇菜單Bd?Exece單擊Exece圖標(兩個齒輪)或按F5。將彈出個終端窗口,其中包含如下輸HeoPyhonwo(pogamexiediho:0)Pe eunoonie如果沒有看到這樣的輸出,請檢查你輸入的每個字符。你是不是將prnt的首字母大寫了?是不是遺漏了引號或括號?編程語言對語法的要求非常嚴格,只要你沒有嚴格遵守語法,就會出錯。如果代碼都正確,這個程序也不能正確地運行,請參閱下節(jié)。如果你按前面的步驟做,應(yīng)該能夠成功地搭建編程環(huán)境。但如果你始終無法運行程序eo_wodpy程序存在嚴重的錯誤時,Pyon將顯示aceback。Pyonackback離開計算機,先休息會兒,再嘗試。別忘了,在編程中,語法非常重要,即便是少個冒號引號不匹配或括號不匹配,都可能導致程序無法正確地運行。請再次閱讀本章相關(guān)的內(nèi)容,再次審視你所做的工作,看看能否找出錯誤。推倒重來。你也許不需要把切都推倒重來,但將文件eo_wodpy讓別人在你的計算機或其他計算機按本章的步驟重做遍,并仔細觀察。你可能遺漏了小步,而別人剛好沒有遺漏。請懂Pyon的人幫忙。當你有這樣的想法時,可能會發(fā)現(xiàn)在你認識的人當中就有人使用Pyon。本章的安裝說明在網(wǎng)也可以找到, 為ps//wwwnosacco/pyoncas-cose/。對你來說 到網(wǎng)尋求幫助。附錄C提供了很 資源, ,你可以前往這些地方,請求解決過 的問題的人提供解決方案不要擔心這會打擾經(jīng)驗豐富的程序員。每個程序員都遇到過問題,而大多數(shù)程序員都會樂意幫助你正確地設(shè)置系統(tǒng)。只要能清晰地說明你要做什么嘗試了哪些方法及其結(jié)果,就很可能有人能夠幫到你。正如前言中 的,Pyon社區(qū)對初學者非常友好。任何現(xiàn)代計算機都能夠運行Pyon,如果你遇到了 ,請想辦法尋求幫助吧。前期的問題可能令人沮喪,但很值得你花時間去解決。能夠運行eo_wodpy后,你就可以開始學習Pyon了,而編程工作會更有趣,也更令人愉快。從終端運行Python程在任何安裝了Pyon的系統(tǒng)都可以這樣做,前提是你知道如何進入程序文件所在 。為嘗試這樣做,請確保已將文件eo_wod 到了桌面的pyon_wok文件夾中在Lnx和OSX系統(tǒng)中,從終端運行Pyon程序的方式相同。在終端會話中,可使用終端命令cd(表示切換 ,cangedecoy)在文件系統(tǒng)中導航。命令s(s的簡寫)顯 為運行程序eo_wodpy,請打開個新的終端窗口,并執(zhí)行下 令??~$dekop/pyow?~/ekop/pynwok$hewo.y?~/ekop/pyowk$pyhonhe_woHeHeoPyhonwo這里使用了命令cd來切換到文件夾Deskop/pyon_wok(見?)。接下來,使用命令s來確認這個文件夾中包含文件eo_wodpy(見?)。最后,使用命令pythonheoworp來運行這個文件(見?)。就這么簡單。要運行Pyon程序,只需使用命令python(或python3)?:>dekoppyow??:>dekoppyow?:ekoppyhon_wok>diheo_wo.y?:ekoppywk>pyhonhewo.yHeoPyhonwod這里使用了命令cd來切換到文件夾Deskop\pyon_wok(見?)。接下來,使用命令dreo_wodpy(見?)。最后,使用命令pythonheoworp來運行這個文件(見?)。如果你沒有對系統(tǒng)進行配置以使用簡單命令python:$dekoppyhon_wok:ekoppyhon_wok$dihe_.y:ekoppyhon_wok$:Pyhon35pyhonheo_wo.yHeoPyhonwod大多數(shù)程序都可以直接從編輯器運行,但需要解決的問題比較復雜時,你編寫的程序可能需要從終端運行。動手試試本章的練習都是探索性的,但從第2章開始將要求你用那章學到的知識來解決問題。輸入錯誤:打開你剛創(chuàng)建的文件eo_wodpy,在代碼中添加個輸入錯誤,再運行這個程序。輸入錯誤會 錯誤嗎?你能理解顯示的錯誤消息嗎?你能添加個不會導致錯誤的輸入錯誤嗎?你憑什么認為它不會導致錯誤?無窮的技藝:如果你編程技藝無窮,你打算開發(fā)什么樣的程序呢?你就要開始學習編程了;如果心中有目標,就能立即將新學到的技能付諸應(yīng)用;現(xiàn)在正是草擬目標的大好時機。將想法記錄下來是個不錯的習慣,這樣每當需要開始新項目時,都可參考它們。現(xiàn)在請花點時間描繪三個你想創(chuàng)建的程序。在本章中,你致了解了Po,并在自己的系統(tǒng)中安裝了Po你還安裝了個本編輯器,以簡化Po代碼的編寫工作你學習了如何在終端話中運行Po代碼片段,并運行了第個貨真價實的程序 eo_wodpy。你還大致了解了如何解決安裝問題。在下章,你將學習如何在Pyon第2 運 oworld.py時發(fā)生的情運行eo_wodpy時,Pyon都做了些什么呢?下面來深入研究下。實際,即便是運行簡單的程序,Pyonppn("HeoPyhonwod運行述代碼時,你將看到如下輸出:HeHeoPyhonwo運行文件eo_wodpy時,末尾的py 這是個Pyon程序,因此編輯器將使用Pyon解釋器來運行它。Pyon解釋器 詞prnt時,解釋器就會將括號中的內(nèi)容打印到屏幕,而不會管括號中的內(nèi)容是什么。編寫程序時,編輯器會以各種方式突出程序的不同部分。例如,它知道prnt是個函數(shù)的名稱,因此將其顯示為藍色;它知道“HeoPyonwod!”不是Pyon代碼,因此將其顯示為橙色。這種功能稱為語法突出,在你剛開始編寫程序時很有幫助。下面來嘗試在eo_wodpy2memeage"HeoPyhonwod"pnmeage)HeHeoPyhonwo我們添加了個名為message的變量。每個變量 了個 的值為文本“HeoPyonwod!”添加變量導致Pyon解釋器需要做 工作。處理第1行代碼時,它將文本“HeoPyonwod!”與變量message關(guān)聯(lián)起來;而處理第2行代碼時,它將與變量message關(guān)聯(lián)的值打下面來進步擴展這個程序:修改eo_wodpy,使其再打印條消息。為此,在eo_wodpymemeage"HeoPyhonwod"pnmeage)meage"HeoPyhonCahCouewod"pnmeage)HeHeoPyhonwoHeoPyhonCahCouewo在程序中可隨時修改變量的值,而Pyon將始終記錄變量 在Pyon中使用變量時,需要遵守些規(guī)則和指南。這些規(guī)則將錯誤,而指南旨在讓你編寫的代碼更容易閱讀和理解。請務(wù)必牢記下述有關(guān)變量的規(guī)則。變量名只能包含字母數(shù)字和下劃線。變量名可以字母或下劃線打頭,但不能以數(shù)字打頭,例如,可將變量命名為essage_1,但不能將其命名為1_essage。變量名不能包含空格,但可使用下劃線來分隔其中的單詞。例如,變量名geeng_essage可行,但變量名geengessage會錯誤。不要將Pyon關(guān)鍵字和函數(shù)名用作變量名,即不要使用Pyon保留用于特殊用途的單詞,如prnt(請參見附錄A4)。變量名應(yīng)既簡短又具有描述性。例如,nae比n好,sden_nae比s_n好,nae_eng比eng_of_pesons_nae好。慎用小寫字母和大寫字母O,因為它們可能錯看成數(shù)字1和0要創(chuàng)建良好的變量名,需要經(jīng)過定的實踐,在程序復雜而有趣時尤其如此。隨著你編寫的程序越來越多,并開始閱讀別人編寫的代碼,將越來越創(chuàng)建有意義的變量名。注意就目前而言,應(yīng)使用小寫的Pyon變量名。在變量名中使用大寫字母雖然不會導致錯誤,但避免使用大寫字母是個不錯的主意。meage"HeoPyhonCahCoueeade"pnmeage)程序員都會犯錯,而大多數(shù)程序員每天都會犯錯。雖然優(yōu)秀的程序員也會犯錯,但他們也知道如何高效地消除錯誤。下面來看種你可能會犯的錯誤,并學習如何消除它。我們將有意地編寫些 錯誤的代meage"HeoPyhonCahCoueeade"pnmeage)程序存在錯誤時,Pyon解釋器將竭盡所能地幫助你找出問題所在。程序無法成功地運行時,解釋器會提供個aceback。aceback是條記錄, 錯誤地拼寫了變量名時,Pyon解釋器提供的aceback:TTaeak een a ie"heo_wo.",ie,i<modu pne?Nameo:namemee'inoid解釋器 ,文件eo_odp的第2行存在錯誤(見?);它列出了這行代碼,旨在幫助你快速找出錯誤(見?);它還 了它發(fā)現(xiàn)的是什么樣的錯誤(見?)。在這里,解釋器發(fā)現(xiàn)了個名稱錯誤,并 打印的變量mesage未定義:yo無法識別你提供的變量名。名稱錯誤通常意味著兩種情況:要么是使用變量前忘記了給它賦值,要么是輸入變量名時拼寫不正確。在這個示例中,第2行的變量名message中遺漏了字母s。Pyon解釋器不會對代碼做拼寫檢查,但要求變量名的拼寫致。例如,如果在代碼的另個地方也將essage錯誤地拼寫成了esage,結(jié)果將如何呢?memeage"HeoPyhonCahCoueeade"pnmeage)HeHeoPyhonCahCoue計算機絲不茍,但不關(guān)心拼寫是否正確。因此,創(chuàng)建變量名和編寫代碼時,你無需考慮英語中的拼寫和語則很多編程錯誤都很簡單,只是在程序的某行輸錯了個字符。為找出這種錯誤而花費很長時間的大有人在。很多程序員天資聰穎經(jīng)驗豐富,卻為找出這種細微的錯誤花費數(shù)小時。你可能覺得這很好笑,但別忘了,在你的編程生涯中,經(jīng)常會有同樣的遭遇。注意要理解新的編程概念,最佳的方式是嘗試在程序中使用它們。如果你在做本書的練習時陷入了困境,請嘗試做點其他的事情。如果這樣做后依然無法擺脫困境,請復習相關(guān)內(nèi)容。如果這樣做后情況依然如故,請參閱附錄C的建議。動手試試請完成下面的練習,在做每個練習時,都編寫個獨立的程序。保存每個程序時,使用符合標準Pyon約定的文件名:使用小寫字母和下劃線,如spe_essagepy和spe_essagespy。簡單消息:將條消 到變量中,再將其打印出來多條簡單消息:將條消 到變量中,將其打印出來;再將變量的值修改為條新消息,并將其打印出來字符大多數(shù)程序都定義并收集某種數(shù)據(jù),然后使用它們來做些有意義的事情。鑒于此,對數(shù)據(jù)進行分類大有裨益。介紹的第種數(shù)據(jù)類型是字符串。字符串雖然看似簡單,但字符串就是系列字符。在Pyon""ii "Tiiao .i,"Theanguageyon'inamedafeMonyPyho,nohek.""OneofPyon' enghiidiveeanduppoivemmui."下面來看些使用字符串的方式。pname.ie())將這個文件保存為naepyAdaAdaovea在這個示例中,小寫的字符串"adaove 到了變量name中。在prnt()語句中,方法tte()出現(xiàn)在這個變量的后面。方法是Pyon可對數(shù)據(jù)執(zhí)行的操作在aete()中,name后面的句點()讓Pyon對變量name執(zhí)行方法tte()指定的操作。每個方法后面都跟著對括號,這是因為方法通常需要額外的信息來完成其工作。這種信息是在括號內(nèi)提供的。函數(shù)tte()不需要額外的信息,因此它后面的括號是空的。tte()以首字母大寫的方式顯示每個單詞,即將每個單詞的首字母都改為大寫。這很有用,因為你經(jīng)常需要將名字視為信息。例如,你可能希望程序?qū)⒅礎(chǔ)da 視為同個名字,并將它們都顯示為Ada。namename"Adaoveae"pin(ame.e())pna.oweAAAOVadaovea數(shù)據(jù)時,方法owr()很有用。很多時候,你無法依靠用戶來提供正確的大小寫,因此需要將字符串先轉(zhuǎn)換為小寫,再它們。以后需要顯示這些信息時,再將其轉(zhuǎn)換為最合適的大小寫方式。在很多情況下,都需要合并字符串。例如,你可能想將姓和名在不同的變量中,等要顯示時再將它們合而為fifi_namea_am"ovea?funmefinme+""+apn(fum)Pyon使用加號()來合并字符串。在這個示例中,我們使用來合并rstname空格和astname,以得到完整 (見?),其結(jié)果如下adaadaovea這種合并字符串的方法稱為拼接。通過拼接,可使用在變量中的信息來創(chuàng)建完整的消息。下面來看個例子fifi_namea_am"oveafuamfinme+""+ae?pin("He,"+fu_mie()+"在這里,個問候用戶的句子中使用了全名(見?),并使用了方法tte()來將設(shè)置為合適的格式。這些代碼顯示條格式良好的簡單問候語HeHe,Adaovea你可以使用拼接來創(chuàng)建消息,再把整條消息都在個變量中fifi_namea_am"oveafuamfinme+""+ae?meage"He,"+fu_nm.ie()+"?pnme述代碼也顯示消息“Heo,AdaLoveace!”,但將這條消息在了個變量中(見?),這讓最后的prnt語句簡單得多(見?)>>>pn("Pyhon")Py>>>pn("Pyhon")Pyhon?>>>pn("Pyhon")Pyhon要在字符串中添加換行符,可使用字符組合n>>>>>>pn("anguage:nPyhonnCnJavaSp")anguage:還可在同個字符串中同時包含制表符和換行符。字符串"nt"讓Pyon>>>>>>pn("anguage:nPyhonnCnJavaSp")anguage:在程序中,額外的空白可能令人迷惑。對程序員來說,ython和python看起來幾乎沒什么兩樣,但對程序來說,它們卻是兩個不同的字符串。yon能夠發(fā)現(xiàn)ython 中額外的空白,并認為它是有意義的 除非你告訴它不是這樣的??瞻缀苤匾?,因為你經(jīng)常需要比較兩個字符串是否相同。例如,個重要的示例是,在用戶登錄時檢查其用戶名。但在些簡單得多的情形下,額外的空格也可能令人迷惑。所幸在Pyon中,刪除用戶輸入的數(shù)據(jù)中的多余的空白易如反掌。Pyon能夠找出字符串開頭和末尾多余的空白。要確保字符串末尾沒有空白,可使用方法rstrp()ypyhon'?>>>favoie_aae.i)pyh'pyhon'在變量avorteangage中的字符串末尾包含多余的空白(見?)。你在終端會話中向Pyon詢問這個變量的值時,可看到末尾的空格(見?)量avorte angage調(diào)用方法rstrp()后(見?),這個多余的空格被刪除了。然而,這種刪除只是暫時的,接下來再次詢問avorte angage的值時,你會發(fā)現(xiàn)這個字符串與輸入時樣,依然包含多余的空白(見?)。>>>>>>favoie_anguagepyhon?>>>favoie_anguagefavoie_a. pyhn'為刪除這個字符串中的空白,你需要將其末尾的空白剔除,再將結(jié)果存回到原來的變量中(見?)。在編程中,經(jīng)常需要修改變量的值,再將新值存回到原來的變量中。這就是變量的值可能隨程序的運行或用戶輸入數(shù)據(jù)而發(fā)生變化的原因。你還可以剔除字符串開頭的空白,或同時剔除字符串兩端的空白。為此,可分別使用方法strp()和strp()??>>>favoie_anguage'pyhon?>>>favoie_aaei)'pyhn'??>>>favoie_aae.i)pyhon'?>>>favoie_gug.i)pyh'在這個示例中,我們首先創(chuàng)建了個開頭和末尾都有空白的字符串(見?)。接下來,我們分別刪除末尾(見?)開頭(見?)和兩端(見?)的空格。嘗試使用這些剝除函數(shù)有助于你熟悉字符串操作。在實際程序中,這些剝除函數(shù)最常用于在用戶輸入前對其進行清理。語法錯誤是種時不時會遇到的錯誤。程序中包含 的Pyon代碼時,就會導致語法錯誤。例如,在用單引號括起的字符串中,如果包含撇號,就將導致錯誤。這是因為這會導致Pyon將第個單引號和撇號之間的內(nèi)容視為個字符串,進而將余下的文本視為Pyon代碼,從而 錯誤。下面演示了如何正確地使用單引號和雙引號。請將該程序保存為aposopepymemeage"OneofPyo' enghiidiveemmi."pn(meage)撇號位于兩個雙引號之間,因此Pyon' enghiidiveemmui.然而,如果你使用單引號,PyonmemeageOeofPyh'pin(meage)enghiidiveemmiieie"apop."emeageOeofPy' enghiidiveemmuSynaxo:ivaidyn從述輸出可知,錯誤發(fā)生在第二個單引號后面(見?)。這種語法錯誤表明,在解釋器看來,其中的有些內(nèi)容不是有效的Pyon代碼。錯誤的來源多種多樣,這里 些常見的。學習編寫Pyon代碼時,你可能會經(jīng)常遇到語法錯誤。語法錯誤也是最不具體的錯誤類型,因此可能難以找出并修復。受困于非常棘手的錯誤時,請參閱附錄C提供的建注意編寫程序時,編輯器的語法突出功能可幫助你快速找出某些語法錯誤??吹絇yon代碼以普通句子的顏色顯示,或者普通句子以Pyon代碼的顏色顯示時,就可能意味著文件中存在引號不匹配的情況。Python2中的print在Pyon2中,prnt>>>>>>pyn7>>>pn"HeoPyhon.7wod"HeoPyhon.7wod在Pyon2中,無需將要打印的內(nèi)容放在括號內(nèi)。從技術(shù)說,Pyon3中的prnt是個函數(shù),因此括號必不可少。有些Pyon2prnt語句也包含括號,但其行為與Pyon3中稍有不同。簡單地說,在Pyon2代碼中,有些prnt語句包含括號,有些不包含。動手試試在做下面的每個練習時,都編寫個獨立的程序,并將其保存為名稱類似于nae_casespy的文件。如果遇到了,請休息會兒或參閱附錄C提供的建議。2-3個性化消息:將用戶的存到個變量中,并向該用戶顯示條消息。顯示的消息應(yīng)非常簡單,如“HeoEc,wodyokeoeansoePyonoday?”。2-4調(diào)整名字的大小寫:將個人名存儲到個變量中,再以小寫大寫和首字母大寫的方式顯示這個人名。名言:找句你欽佩的名人說的名言,將這個名人的和他的名言打印出來。輸出應(yīng)類似于下面這樣(包括引號名言2:重復練習2-5,但將名人 在變量amo 在變量message中,然后打印這條消息剔除人名中的空白 個人名,并在其開頭和末尾都包含些空白字符。務(wù)必至少使用字符組合"t"和"n"各次打印這個人名,以顯示其開頭和末尾的空白。然后,分別使用剔除函數(shù)strp()rstrp()和strp()在編程中,經(jīng)常使用數(shù)字來記錄游戲得分表示可視化數(shù) Web應(yīng)用信息等。Pyon根據(jù)數(shù)字的用法以不同的方式處理它們。鑒于整數(shù)使用起來最簡單,下面就先來看Pyon在Pyon中,可對整數(shù)執(zhí)行加()減()乘()除()>>>>>>2+5>>>3->>>2*6>>>3/在終端會話中,Pyon直接返回運算結(jié)果。Pyon>>>>>>3**9>>>3**>>>0**Pyon還支持運算次序,因此你可在同個表達式中使用多種運算。你還可以使用括號來修改運算次序,讓Pyon>>>>>>2+3*4>>>(2+3)* Pyon將帶小數(shù)點的數(shù)字都稱為浮點數(shù)。大多數(shù)編程語言都使用了這個術(shù)語,它 了這樣個事實:小數(shù)點可出現(xiàn)在數(shù)字的任何位置。每種編程語言都須細心設(shè)計,以妥善地處理浮點數(shù),確保不管小數(shù)點出現(xiàn)在什么位置,數(shù)字的行為都是正常的。從很大程度說,使用浮點數(shù)時都無需考慮其行為。你只需輸入要使用的數(shù)字,Pyon>>>>>>.+2>>>.2+4>>>2*2>>>2*42.>>>3*.所有語言都存在這種問題,沒有什么可擔心的。Pyon會盡力找到種方式,以盡可能精確地表示結(jié)果,但鑒于計算機內(nèi)部表示數(shù)字的方式,這在有些情況下很難。就現(xiàn)在而言,暫時忽略多余的小數(shù)位數(shù)即可;在第二部分的項目中,你將學需要時處理多余小數(shù)位的方式。ageagemeage"Happy"+age+"dihday"pnmage)你可能認為,述代碼會打印條簡單的生日祝福語:Happy23dbday!。但如果你運行這些代碼,將發(fā)現(xiàn)它們 錯誤TTaeak een aie"id.y",ie,n<modumeage"Happy"+age+"dihday?Typeo:a'onvein'o ipii這是個類型錯誤,意味著Pyon無法識別你使用的信息。在這個示例中,Pyon發(fā)現(xiàn)你使用了個值為整數(shù)(nt)的變量,但它不知道該如何解讀這個值(見?)。Pyon知道,這個變量表示的可能是數(shù)值23,也可能是字符2和3。像面這樣在字符串中使用整數(shù)時,需要顯式地 你希望Pyon將這個整數(shù)用作字符串。為此,可調(diào)用函數(shù)str(),它讓Pyon將非字符串值表示為字符串:ageagemeage"Happy"+ (age)+"dihday"pnmage)這樣,Pyon就知道你要將數(shù)值23轉(zhuǎn)換為字符串,進而在生日祝福消息中顯示字符2和3。經(jīng)過述處理后,將顯示你期望的消息,而不會錯誤HappyHappy23di大多數(shù)情況下,在Pyon中使用數(shù)字都非常簡單。如果結(jié)果出乎意料,請檢查PyonPython2在Pyon2>>>>>>pyn7>>>3/yon返回的結(jié)果為1,而不是15。在yon2中,整數(shù)除法的結(jié)果只包含整數(shù)部分,小數(shù)部分被刪除。請注意,計算整數(shù)結(jié)果時,采取的方式不是四舍五入,而是將小數(shù)部分直接刪除。在Pyon2>>>>>>3/>>>.0/>>>3/>>>.0/從Pyon3轉(zhuǎn)而用Pyon2或從Pyon2轉(zhuǎn)而用Pyon3時,這種除法行為常常會令人迷惑。使用或編寫同時使用浮點數(shù)和整數(shù)的代碼時,定要注意這種異常行為。動手試試數(shù)字8:編寫4個表達式,它們分別使用加法減法乘法和除法運算,但結(jié)果都是數(shù)字8。為使用prnt語句來顯示結(jié)果,務(wù)必將這些表達式用括號括起來,也就ppn(5+最喜歡的數(shù)字:將你最喜歡的數(shù) 在個變量中,再使用這個變量創(chuàng)建條消息 你最喜歡的數(shù)字,然后將這條消息打印出來在大多數(shù)編程語言中,注釋都是項很有用的功能。本書前面編寫的程序中都只包含Pyon代碼,但隨著程序越來越大越來越復雜,就應(yīng)在其中添加說明,對你解決問題的方法進行大致的闡述。注釋讓你能夠使用自然語言在程序中添加說明。在Pyon中,注釋用井號(#)標識。井號后面的內(nèi)容都會被Pyon##pn("HeoPyhonpeopePyon解釋器將忽略第1行,只執(zhí)行第2HeHeoPyhonpeop編寫注釋的主要目的是闡述代碼要做什么,以及是如何做的。在開發(fā)項目期間,你對各個部分如何協(xié)同工作了如指掌,但過段時間后,有些細節(jié)你可能不記得了。當然,你總是可以通過研究代碼來確定各個部分的工作原理,但通過編寫注釋,以清晰的自然語言對解決方案進行概述,可節(jié)省很多時間。要成為專業(yè)程序員或與其他程序員合作,就必須編寫有意義的注釋。當前,大多數(shù)軟件都是合作編寫的,編寫者可能是同家公司的多名員工,也可能是眾多致力于同個開源項目的人員。訓練有素的程序員都希望代碼中包含注釋,因此你最好從現(xiàn)在開始就在程序中添加描述性注釋。作為新手,最值得養(yǎng)成的習慣之是,在代碼中編寫清晰簡潔的注釋。如果不確定是否要編寫注釋,就問問自己,找到合理的解決方案前,是否考慮了多個解決方案。如果答案是肯定的,就編寫注釋對你的解決方案進行說明吧。相比回過頭去再添加注釋,刪除多余的注釋要容易得多。從現(xiàn)在開始,本書的示例都將使用注釋來闡述代碼的工作原理。動手試試添加注釋:選擇你編寫的兩個程序,在每個程序中都至少添加條注釋。如果程序太簡單,實在沒有什么需要說明的,就在程序文件開頭加你的 和當前日期,再用句話闡述程序的功能。Python編程語言e曾在互聯(lián)網(wǎng)領(lǐng)域長期占據(jù)著地位,早期的大多數(shù)交互式使用的都是e。彼時,解決問題的辦法有多個被e社區(qū)奉為座右銘。這種理念度深受大家的喜愛,因為這種語言固有的靈活性使得大多數(shù)問題都有很多不同的解決之道。在開發(fā)項目期間,這種靈活性是可以接受的,但大家最終認識到,過于強調(diào)靈活性會導致大型項目難以:要通過研究代碼搞清楚當時解決復雜問題的人是怎么想的,既又麻煩,還會耗費大量的時間。經(jīng)驗豐富的程序員倡導盡可能避繁就簡。Pyon社區(qū)的理念都包含在TPees撰寫的“Pyon之禪”中。要獲悉這些有關(guān)編寫優(yōu)秀Pyon代碼的指導原則,只需在解釋器中執(zhí)行命令mpths。這里不打算贅述整個“Pyon之禪”,而只與大家其中的幾條原則,讓你明白為何它們對Pyon新手來說至關(guān)重要。 TheZenofPyh,yimPeeBeauifuieehanug.yon程序員篤信代碼可以編寫得漂亮而優(yōu)雅。編程是要解決問題的,設(shè)計良好高效而漂亮的解決方案都會讓程序員心生敬意。隨著你對yon的認識越來越深入,并使用它來編寫越來越多的代碼,有天也許會有人站在你后面驚呼:“哇,代碼編寫得真是漂亮!”mpeieehanomp.如果有兩個解決方案,個簡單,個復雜,但都行之有效,就選擇簡單的解決方案吧。這樣,你編寫的代碼將更容易,你或他人以后改進這些代碼時也會更容易CompCompexieehanompia.ReadaReadaiiyoun即便是復雜的代碼,也要讓它易于理解。開發(fā)的項目涉及復雜代碼時,TheTheehoudeone--andpefeayonyone--oviouwayodoi如果讓兩名Pyon程序員去解決同個問題,他們提供的解決方案應(yīng)大致相同。這并不是說編程沒有創(chuàng)意空間,而是恰恰相反!然而,大部分編程工作都是使用常見解決方案來解決簡單的小問題,但這些小問題都包含在更龐大更有創(chuàng)意空間的項目中。在你的程序中,各種具體細節(jié)對其他Pyon程序員來說都應(yīng)易于理解。NowNowieehanneve你可以將余生都用來學習Pyon和編程的紛繁難懂之處,但這樣你什么項目都完不成。不要企圖編寫完美無缺的代碼;先編寫行之有效的代碼,再決定是對其做進步改進,還是轉(zhuǎn)而去編寫新代碼。等你進入下章,開始研究更復雜的時,務(wù)必牢記這種簡約而清晰的理念。如此,經(jīng)驗豐富的程序員定將對你編寫的代碼心生敬意,進而樂意向你提供反饋,并與你合作開發(fā)有趣的項目。動手試試Python之禪:在Pyon終端會話中執(zhí)行命令mprths在本章中,你學習了:如何使用變量;如何創(chuàng)建描述性變量名以及如何消除名稱錯誤和語法錯誤;字符串是什么,以及如何使用小寫大寫和首字母大寫方式顯示字符串;使用空白來顯示整潔的輸出,以及如何剔除字符串中多余的空白;如何使用整數(shù)和浮點數(shù);使用數(shù)值數(shù)據(jù)時需要注意的意外行為。你還學習了如何編寫說明性注釋,讓代碼對你和其他人來說更容易理解。最后,你了解了讓代碼盡可能簡單的理念。在第3章,你將學習如何在被稱為列表的變量 信息集,以及如何通過遍歷列表來操作其中的信息第3 列表簡在本章和下章中,你將學習列表是什么以及如何使用列表元素。列表讓你能夠在個地方成組的信息,其中可以只包含幾個元素,也可以包含數(shù)百萬個元素。列表是新手可直接使用的最強大的Pyon功能之,它融合了眾多重要的編程概念。列表由系列按特定順序排列的元素組成。你可以創(chuàng)建包含字母表中所有字母數(shù)字09或所有家庭成員 何關(guān)系。鑒于列表通常包含多個元素,給列表指定個表示復數(shù)的名稱(如ettersdgts或names)是個不錯的主意。在Pyon中,用方括號 iiye e,e,i,]pi(iye)如果你讓Pyon將列表打印出來,Pyon''ek,'annondae,'edi,'peiai]鑒于這不是你要讓用戶看到的輸出,下面來學習如何列表元素3.1.1列表元iy 'ek,'annondae,'ediiy 'ek,'annondae,'edi,'peiai]?pin(iye 這正是你要讓用戶看到的結(jié) 整潔干凈的輸出你還可以對任何列表元素調(diào)用第2章介紹的字符串方法。例如,可使用方法tte()讓元素 iiye e,e,i,]pn(iye0.ie())這個示例的輸出與前個示例相同,只是首字母T索引從0而不是1在Pyon中,第個列表元素的索引為0,而不是1。在大多數(shù)編程語言中都是如此,這與列表操作的底層實現(xiàn)相關(guān)。如果結(jié)果出乎意料,請看看你是否犯了簡單的差錯誤。第二個列表元素的索引為1。根據(jù)這種簡單的計數(shù)方式,要 列表的任何元素,都可將其位置減1,并將結(jié)果作為索引。例如,要 第四個列表元素,可使用索引3。下面的代 索引和3處的自行車iiye e,e,i,]pi(iye])pn(iyeannondaannondaepeiaiPyon 最后個列表元素提供了種特殊語法。通過將索引指定 ,可讓Pyon返回最后個列表元素iiye e,e,i,]pn(iye-])這些代碼返回speca ed。這種語法很有用,因為你經(jīng)常需要在不知道列表長度的情況下最后的元素。這種約定也適用于其他負數(shù)索引,例如,索引 二個列表元素,索引3返回倒數(shù)第三個列表元素,以此類推??上袷褂闷渌兞繕邮褂昧斜碇械母鱾€值。例如,你可以使用拼接根據(jù)列表中的值來創(chuàng)建消息。下面來嘗試從列表中提取第款自行車,并使用這個值來創(chuàng)建條消息:iiy 'k,'annondae,'edi,'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論