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