




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章初識PythonPython程序設(shè)計·第1章初識Python本章首先介紹計算機與程序語言之間的關(guān)系,然后初步探索Python語言,簡述其歷史、版本、支持平臺與各種實施。在本章的編程訓(xùn)練中,我們將下載Python,建立起可以正常運行的Python程序設(shè)計環(huán)境,我們可以在互動模式下一行一行地輸入程序代碼并執(zhí)行,或是將Python程序?qū)懺谠创a文件里,整個交給Python解釋器執(zhí)行。計算機簡史1Python集成開發(fā)環(huán)境4計算機軟件與程序設(shè)計語言2Python語言簡介3Python下載與安裝5目錄1.1計算機簡史現(xiàn)代計算機計算機科學(xué)計算機組成1.1
現(xiàn)代計算機我們先來了解計算機、計算機科學(xué)和計算機硬件系統(tǒng)的相關(guān)知識。艾倫·麥席森·圖靈(1912年6月23日-1954年6月7日),出生于英國倫敦帕丁頓,畢業(yè)于美國普林斯頓大學(xué),是英國數(shù)學(xué)家、邏輯學(xué)家,被譽為“計算機科學(xué)之父”,“人工智能之父”,他是計算機邏輯的奠基者,他提出了“圖靈機”和“圖靈測試”等重要概念,為現(xiàn)代計算機的邏輯工作方式奠定了基礎(chǔ)。為了紀(jì)念圖靈對計算機科學(xué)的巨大貢獻,1966年,由美國計算機協(xié)會(ACM)設(shè)立一年一度的“圖靈獎”,以表彰在計算機科學(xué)中做出突出貢獻的人。圖靈獎被喻為“計算機界的諾貝爾獎”。
圖靈1.1
現(xiàn)代計算機約翰·馮·諾依曼(1903年12月28日-1957年2月8日),出生于匈牙利,畢業(yè)于瑞士蘇黎世聯(lián)邦理工學(xué)院,數(shù)學(xué)家,現(xiàn)代計算機、博弈論、核武器和生化武器等領(lǐng)域內(nèi)的科學(xué)全才,被后人稱為“現(xiàn)代計算機之父”和“博弈論之父”,他在泛函分析、遍歷理論、幾何學(xué)、拓?fù)鋵W(xué)和數(shù)值分析等眾多數(shù)學(xué)領(lǐng)域及計算機學(xué)、量子力學(xué)和經(jīng)濟學(xué)中都有重大成就,也為人類第一顆原子彈和第一臺電子計算機的研制做出了巨大貢獻。馮·諾依曼1.1
現(xiàn)代計算機電子計算機通稱電腦,簡稱計算機,是一種通用的信息處理機器,它能執(zhí)行可以充分詳細描述的任何過程。用于描述解決特定問題的步驟序列稱為算法,算法可以變成軟件(程序),確定硬件(物理機)能做什么和做了什么。創(chuàng)建軟件的過程稱為編程。1.1.1現(xiàn)代計算機幾乎每個人都用過計算機。也許你玩過計算機游戲,或曾用計算機寫文章、在線購物、聽音樂或通過社交媒體與朋友聯(lián)系。計算機被用于預(yù)測天氣、設(shè)計飛機、制作電影、經(jīng)營企業(yè)、完成金融交易和控制工廠等。世界上第一臺通用電子數(shù)字計算機ENIAC誕生于1946年2月14日的美國賓夕法尼亞大學(xué)。中國的第一臺電子計算機誕生于1958年。在2019年6月17日公布的全球超算500強榜單中,中國以擁有219臺超級計算機,繼續(xù)蟬聯(lián)全球擁有超算數(shù)量最多的國家。
世界上第一臺通用計算機ENIAC1.1.1現(xiàn)代計算機但是,計算機到底是什么機器?一個計算設(shè)備怎么能執(zhí)行這么多不同的任務(wù)呢?現(xiàn)代計算機可以被定義為“在可改變的程序的控制下,存儲和操縱信息的機器”。該定義有兩個關(guān)鍵要素:第一,計算機是用于操縱信息的設(shè)備。這意味著我們可以將信息放入計算機,計算機將信息轉(zhuǎn)換為新的、有用的形式,然后輸出(顯示)信息。第二,計算機在可改變的程序的控制下運行。1.1.1現(xiàn)代計算機計算機不是唯一能操縱信息的機器。當(dāng)你用簡單的計算器來運算一組數(shù)字時,就是在輸入信息(數(shù)字),處理信息(如計算連續(xù)的總和),然后顯示。另一個典型的例子是油泵。給油箱加油時,油泵利用某些輸入:當(dāng)前每升汽油的價格和來自傳感器的信號,汽油流入汽車油箱的速率等。油泵將這個輸入轉(zhuǎn)換為加了多少汽油和應(yīng)付多少錢的信息。但計算器或油泵并不是完整的計算機,這些設(shè)備包含的是嵌入式計算機(芯片),被構(gòu)建來執(zhí)行單一的任務(wù)?!坝嬎銠C程序”是一組詳細指令的有序集合。程序明確地告訴計算機做什么,如果我們改變程序,計算機就會執(zhí)行不同的動作序列,從而完成不同的任務(wù)。正是這種靈活性,讓計算機在一個時刻是文字處理器,在另一個時刻是金融顧問,后來又變成一個街機游戲。機器(硬件)沒變,但控制機器的程序(軟件)改變了。1.1.1現(xiàn)代計算機每臺計算機只是“執(zhí)行”(運行)程序的機器。例如AppleMacintosh、DellPC、聯(lián)想Thinkpad筆記本、AppleiPad和華為智能手機等,它們實際上是不同類型的計算機。所有這些不同的計算機具有相同的力量,通過適當(dāng)?shù)木幊?,每臺計算機基本上可以做任何其他計算機可以做的事情。從這個意義上說,放在你書桌上的PC機實際上是一臺通用機器,它可以做任何你想要它做的事,只要你能足夠詳細地描述要完成的任務(wù)。1.1.2計算機軟件與程序設(shè)計語言事實上,計算機科學(xué)并不只是研究計算機的。計算機科學(xué)本質(zhì)上是研究什么可以計算,它是更廣泛的計算科學(xué)領(lǐng)域的基礎(chǔ),其中包括網(wǎng)絡(luò)、數(shù)據(jù)庫和信息管理系統(tǒng)等。著名計算機科學(xué)家埃格斯·迪克斯特拉曾經(jīng)說過,“計算機之于計算機科學(xué),正如望遠鏡之于天文學(xué)?!庇嬎銠C是計算機科學(xué)中的重要工具,由于它可以執(zhí)行我們描述的任何過程,所以真正的問題是:“我們可以描述什么過程?”即:計算機科學(xué)的根本問題就是“可以計算什么”。計算機科學(xué)家應(yīng)用許多研究技術(shù)來回答這個問題,其中三種主要技術(shù)是設(shè)計、分析和實驗。1.1.2計算機軟件與程序設(shè)計語言證明某個問題可以解決的一種方式就是實際設(shè)計解決方案。也就是說,我們開發(fā)了一個逐步的過程,以實現(xiàn)期望的結(jié)果。計算機科學(xué)家稱之為“算法”,算法設(shè)計是計算機科學(xué)中最重要的方面之一。設(shè)計有一個弱點,它只能回答“什么是可計算的”。如果可以設(shè)計一個算法,那么問題是可解的。然而,未能找到算法并不意味著問題是不可解的,這可能是碰巧還沒有找到正確的想法,這就是我們引入分析的原因。1.1.2計算機軟件與程序設(shè)計語言分析是以數(shù)學(xué)方式檢查算法和問題的過程。算法分析是計算機科學(xué)的重要組成部分。當(dāng)一些問題太復(fù)雜或者定義不明確而無法開展分析時,在這種情況下,計算機科學(xué)家就依靠實驗。他們實際實現(xiàn)一些系統(tǒng),然后研究行為的結(jié)果。即使在進行理論分析時,也經(jīng)常需要實驗來驗證和完善分析。對于大多數(shù)問題,底線是能否構(gòu)建一個可靠的工作系統(tǒng)。通常我們需要對系統(tǒng)進行測試,以確定這個底線已經(jīng)滿足。當(dāng)你開始編寫自己的程序時,會有很多機會觀察你的解決方案的表現(xiàn)。如今,計算機科學(xué)家參與的活動都在計算這把大傘之下,例如移動計算、網(wǎng)絡(luò)、人機交互、人工智能、計算科學(xué)(使用強大的計算機來模擬科學(xué)過程)、數(shù)據(jù)庫和數(shù)據(jù)挖掘、軟件工程、網(wǎng)絡(luò)和多媒體設(shè)計、數(shù)字音樂制作、管理信息系統(tǒng)和計算機安全等。無論在何處進行計算,計算機科學(xué)的技能和知識都有應(yīng)用。1.1.3計算機組成一名成功的程序員也許并不需要知道計算機工作的所有細節(jié),但是,了解計算機的基本原理將有助于掌握讓程序運行所需的步驟。因此,讓我們來看看計算機的內(nèi)部構(gòu)造。不同計算機在具體細節(jié)上會顯著不同,但抽象起來看,所有現(xiàn)代數(shù)字計算機都是非常相似的。右圖展示了計算機的功能視圖,計算機系統(tǒng)包括中央處理單元(CPU)、主存儲器(RAM)、輔助存儲器以及輸入和輸出設(shè)備。CPU是機器的“大腦”,這是計算機執(zhí)行所有基本操作的地方。CPU可以執(zhí)行簡單的算術(shù)運算,如兩個數(shù)相加,也可以執(zhí)行邏輯操作,如測試兩個數(shù)是否相等。
計算機的功能視圖1.1.3計算機組成CPU只能直接訪問(操作)存儲在“主存儲器”(RAM,隨機存取存儲器)中的信息(數(shù)據(jù)和程序)。主存儲器速度快,但它也是易失性存儲。也就是說,當(dāng)電源關(guān)閉時,主存儲器中的信息會丟失。因此,還必須有一些輔助存儲器來提供永久存儲。在個人計算機中,主要的輔助存儲器通常是硬盤驅(qū)動器(HDD)或固態(tài)驅(qū)動器(SSD)。HDD將信息以磁模式存儲在磁盤上,而SSD使用稱為閃存的電子電路。大多數(shù)計算機還支持可移動介質(zhì)作為輔助存儲器,如U盤和DVD數(shù)字多功能光盤,后者以光學(xué)模式存儲信息,由激光讀取和寫入。人們通過輸入和輸出設(shè)備與計算機交互,常見的設(shè)備如鍵盤、鼠標(biāo)和顯示器。來自輸入設(shè)備的信息由CPU處理,并可以被移動到主存儲器或輔助存儲器。類似地,需要顯示信息時,CPU將它發(fā)送到一個或多個輸出設(shè)備。1.1.3計算機組成當(dāng)在計算機上啟動游戲或文字處理程序時,構(gòu)成程序的指令從(更)持久的輔助存儲器復(fù)制到計算機的主存儲器中。一旦指令被加載,CPU就開始執(zhí)行程序。技術(shù)上,CPU遵循的過程稱為“讀取-執(zhí)行循環(huán)”。從存儲器取得第一條指令,解碼以弄清楚它代表什么,并且執(zhí)行適當(dāng)?shù)膭幼鳌H缓?,取得并解碼和執(zhí)行下一條指令。循環(huán)繼續(xù),一條指令接著一條指令。這確實是所有的計算機從你打開它直到關(guān)閉時做的事情:讀取指令、解碼、執(zhí)行。但計算機能以很快的速度執(zhí)行這個簡單的指令流,每秒完成數(shù)十億條指令。將足夠多的簡單指令以正確的方式放在一起(編程),計算機便完成了驚人的工作。1.2計算機軟件與程序設(shè)計語言計算機軟件程序設(shè)計語言計算機翻譯器1.2
計算機軟件與程序設(shè)計語言電腦硬件其實非常復(fù)雜,主要原因之一是輸入/輸出設(shè)備既繁多且各不相同,例如鍵盤、鼠標(biāo)、顯卡與屏幕、聲卡與喇叭、打印機、硬盤、U盤、攝像頭、藍牙、無線網(wǎng)卡與路由器等等,如果要由人們或直接由應(yīng)用軟件來面對這種種裝置,那幾乎是不可能的任務(wù),所幸,我們可以在軟件與硬件之間加入一層被稱為操作系統(tǒng)(operatingsystem,OS)的軟件,由它來管理下面的硬件并負(fù)責(zé)執(zhí)行上面的軟件,介于兩者之間,讓上層程序可存取下層的輸出入裝置。
硬件、操作系統(tǒng)與軟件1.2.1計算機軟件“計算”的一個要點是:“軟件”(程序)主宰“硬件”(物理機器)。軟件決定計算機可以做什么,沒有軟件,計算機也許只是昂貴的鎮(zhèn)紙。程序是一系列指令的有序集合,它告訴計算機做什么。顯然,就目前而言,我們?nèi)匀恍枰糜嬎銠C可以理解的語言來提供這些指令。1.2.1計算機軟件操作系統(tǒng)也是程序,只不過非常龐大復(fù)雜,在整個電腦系統(tǒng)中扮演著管理員的角色。操作系統(tǒng)可以分為許多組成部分。簡單而言,其中會由驅(qū)動程序負(fù)責(zé)與底層硬件溝通,不同的硬件裝置需要不同的驅(qū)動程序,借以彌補其差異,提供一致的接口供上層調(diào)用;然后提供程序運行環(huán)境,以執(zhí)行各式各樣的應(yīng)用軟件,而這些軟件可由各種“程序語言”編寫而成。我們平常自由自在地享受各式軟件,諸如網(wǎng)頁瀏覽器(InternetExplorer、百度、搜狗等)、即時通訊軟件(QQ、微信)、電子表格(Excel)、媒體播放程序、壓縮軟件(Zip、WinZip)、看圖軟件等等,這些軟件都必須由某一種(或數(shù)種)程序語言開發(fā)編寫而成。1.2.2程序設(shè)計語言人類的自然語言不太適合描述復(fù)雜的算法,因為其中充滿著模糊和不精確。計算機科學(xué)家設(shè)計了一些符號,以準(zhǔn)確無二義的方式來表示計算,從而繞過了這些問題,這些形式表示法的特殊符號稱為編程語言,其中的每個結(jié)構(gòu)都有精確的形式(即語法)和精確的含義(即語義)。編程語言就像一種規(guī)則,用于編寫計算機將遵循的指令。程序員通常將他們的程序稱為“計算機代碼”,用編程語言來編寫算法(軟件)的過程就被稱為“編碼”或“編程”,程序設(shè)計人員有時也自稱為“碼農(nóng)”。編程是計算機科學(xué)的一個基本組成部分,因此,對所有立志成為計算機專業(yè)人員的人都很重要。計算機已經(jīng)成為我們社會中的常見工具,要理解這個工具的優(yōu)點和局限性,就需要理解編程。程序員是計算機的真正控制者,編程能讓你成為一個更聰明的計算機用戶。1.2.2程序設(shè)計語言編程也有很多樂趣。這是一項智力活動,讓人們通過有用的、有時非常漂亮的創(chuàng)作來表達自己,因此,許多人確實愛好編寫計算機程序。編程也會培養(yǎng)有價值的問題解決技能,特別是將復(fù)雜系統(tǒng)分解為一些可理解的子系統(tǒng)及其交互,從而分析復(fù)雜系統(tǒng)的能力。在信息社會,程序員有著很大的市場需求,理解計算機和具備編程的能力可能會讓你在社會競爭中占據(jù)優(yōu)勢。本質(zhì)上,計算機硬件只能理解一種稱為機器語言的低級語言,而程序通常使用面向人類的高級語言(如Python、Java)編寫。因此,高級語言必須被編譯或解釋,以便計算機能夠理解它。高級語言比機器語言更容易移植。時至今日,已經(jīng)出現(xiàn)過無數(shù)的程序語言,那些曾經(jīng)熱門的程序語言至少就有幾十個,諸如FORTRAN、COBOL、C、C++、C#、Java、PHP、JavaScript、VisualBasic、Perl、Lisp、Prolog、Ada等等。1.2.3計算機翻譯器假設(shè)我們希望讓計算機對兩個數(shù)求和,CPU實際執(zhí)行的指令可能是這樣的:將內(nèi)存位置2001的數(shù)加載到CPU中將內(nèi)存位置2002的數(shù)加載到CPU中在CPU中對這兩個數(shù)求和將結(jié)果存儲到內(nèi)存位置2003兩個數(shù)求和似乎有很多工作,實際上甚至比這更復(fù)雜,因為指令和數(shù)字是以二進制符號表示的(即0和1的序列)。在高級語言中,兩個數(shù)求和可以更自然地表達為c=a+b。這讓人們?nèi)菀桌斫猓覀冞€需要用“編譯”或“解釋”方法,以便將高級語言翻譯成計算機可以執(zhí)行的機器語言。1.2.3計算機翻譯器“編譯器”是一個復(fù)雜的計算機程序,它接受一個以高級語言編寫的程序,并將其翻譯成以某個計算機的機器語言表達的等效程序。下圖展示了編譯過程。高級語言程序被稱為“源代碼”,得到的“機器代碼”是計算機可以直接執(zhí)行的程序。圖中的虛線表示機器代碼的執(zhí)行(也稱為“運行程序”)。
編譯高級語言1.2.3計算機翻譯器“解釋器”模擬能理解高級語言的計算機,它根據(jù)需要一條一條地分析和執(zhí)行源代碼指令。下圖展示了這個過程。
解釋高級語言1.2.3計算機翻譯器解釋和編譯之間的區(qū)別在于,編譯是一次性翻譯。一旦程序被編譯,它可以重復(fù)運行而不再需要編譯器或源代碼。在解釋的情況下,每次程序運行時都需要解釋器和源代碼。編譯的程序往往更快,因為其翻譯是一次完成的,但是解釋語言擁有更靈活的編程環(huán)境,程序可以交互式地開發(fā)和運行。翻譯過程突出了高級語言對機器語言的可移植性。計算機的機器語言由特定CPU的設(shè)計者創(chuàng)建,每種類型的計算機都有自己的機器語言。不同的是,以高級語言編寫的程序可以在許多不同種類的計算機上運行,只要存在合適的編譯器或解釋器(這只是另一個程序)。因此,我們可以在自己的筆記本計算機和平板計算機上運行完全相同的Python程序。盡管它們有不同的CPU,但都運行著Python解釋器。1.3
Python語言Python簡史Python語言特點Python語言的版本1.3Python語言簡介Python是一種解釋型程序語言,了解Python的一個好方法是使用交互式shell(俗稱“殼”,用來區(qū)別于“核”)進行實訓(xùn)操作。shell是指“為使用者提供操作界面”的軟件。Python標(biāo)準(zhǔn)版包括一個IDLE程序,它提供了一個shell以及編輯Python程序的工具。1.3.1Python簡史Python語言是由荷蘭人吉多·范羅蘇姆在1980年代末設(shè)計的,于1994年1月正式發(fā)布1.0版,經(jīng)過近三十年的發(fā)展演進,現(xiàn)在已經(jīng)成為主流的程序設(shè)計語言之一。
Python語言LogoPython之父吉多·范羅蘇姆1.3.1Python簡史Python這個名字取自于著名的英國超現(xiàn)實喜劇“蒙提派森的飛行馬戲團”,另外,Python又有巨蟒蛇之意,所以其代表圖示為兩只蟒蛇纏繞在一起,形成類似于太極陰陽圖的樣子。Python支持多種程序設(shè)計范式,包括程序式、結(jié)構(gòu)式、面向?qū)ο?、函?shù)式、腳本式,其語法高級且簡潔,易于學(xué)習(xí),具備了垃圾收集、動態(tài)類型檢查、異常處理機制等特色。Python的程序庫模塊多得不計其數(shù),游戲、多媒體、數(shù)學(xué)運算、視頻處理、系統(tǒng)程序、網(wǎng)站網(wǎng)頁、機器人等等領(lǐng)域,都可見其運用之處,廣受各界采用。1.3.2Python語言特點Python的程序代碼清楚易懂,開發(fā)軟件時易于編寫功能,之后也易于維護修改,提供一致的程序設(shè)計模型,核心概念并不多。與C、C++、Java等程序語言相比,Python的開發(fā)速度快,相同功能需要的程序代碼行數(shù)較少。所以,使用Python可以提高程序開發(fā)人員與軟件工程師的生產(chǎn)力,在較短時間內(nèi)完成較多功能。Python常被昵稱為膠水語言,它能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴展類庫。在使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現(xiàn)。Python語法簡潔清晰,它強制使用空白符(whitespace)作為語句縮進。1.3.3Python語言的版本Python是純粹的自由軟件,源代碼和解釋器CPython遵循GNU通用公共許可證許可,為此成立了非營利組織Python軟件基金會,開發(fā)人員也逐漸演變成Python開發(fā)團隊,并擁有廣大的社團。Python語言的各項開發(fā)工作都記錄在Python功能增進建議書之中,規(guī)范并定義各種擴充與延伸功能的技術(shù)規(guī)格,讓整個Python社區(qū)擁有共同遵循的原則和依據(jù)。目前在用的Python版本分為2.x與3.x(又稱為Python3000或py3k),兩個版本并不完全兼容,學(xué)習(xí)與查詢相關(guān)數(shù)據(jù)時,應(yīng)看清楚適用版本。1.3.3Python語言的版本雖然3.x版已推出一段時日,但仍有很多人以2.x版開發(fā)程序,使用者眾多,很多程序代碼只相容于2.x版,某些程序庫模塊也尚未更新提供3.x的版本。Python的2.7版本發(fā)布至今已相當(dāng)普及,也是2.x的最后一版,該版本進入了糾錯和維護的穩(wěn)定狀態(tài)。關(guān)于Python各版本之間功能與特色的差異詳情,可以到Python官方網(wǎng)站的文件區(qū)(/)查詢。本書編寫時應(yīng)用的是Python版本3.8。1.4
Python集成開發(fā)環(huán)境1.4Python集成開發(fā)環(huán)境執(zhí)行Python程序的規(guī)格已經(jīng)由Python語言定義好了,而現(xiàn)在需要的是實施,就是要為實際動手編寫程序搭建好Python程序的運行環(huán)境,它依托于不同的操作系統(tǒng)。理論上,只要Python程序運行環(huán)境的每一個具體實現(xiàn)都遵守Python語言的規(guī)格,而且程序員也按照標(biāo)準(zhǔn)編寫Python程序,那么所編寫的程序代碼不管在哪一個程序運行環(huán)境里都應(yīng)該能正確無誤地得到執(zhí)行。換句話說,在Windows上編寫的Python程序,也可以放到Linux上執(zhí)行,只要兩處都安裝了相兼容的Python運行環(huán)境即可,因此Python具備良好的可移植性。1.4Python集成開發(fā)環(huán)境常見的Python實施有CPython、StacklessPython、UnladenSwallow、IronPython、Jython、PyPy等等,且各有其獨特之處,例如CPython是Python官方團隊以C語言編寫開發(fā)的運行環(huán)境,具有標(biāo)準(zhǔn)地位,其源代碼完全開放,可移植性最高。另外有些實施,如ActivePython、PythonXY、AnacondaPython等,是把CPython重新包裝,再加入額外的程序庫,專供特定領(lǐng)域使用,例如科學(xué)計算、數(shù)據(jù)分析與管理、數(shù)據(jù)庫運用等。本書的程序與范例都以CPython實施為準(zhǔn);平常提到Python時指的便是這個運行環(huán)境。1.5
Python下載與安裝安裝Python開發(fā)環(huán)境執(zhí)行Python程序1.5
安裝Python學(xué)習(xí)Python課程時,除了利用學(xué)校的計算機實驗室完成相關(guān)實訓(xùn)任務(wù)外,還應(yīng)該在自己的個人計算機中安裝Python軟件,以方便隨時進行編程練習(xí)。我們以Windows環(huán)境和CPython版本為例,來學(xué)習(xí)搭建Python3.x開發(fā)環(huán)境。1.5.1安裝Python開發(fā)環(huán)境請按照下列步驟完成安裝并進行簡單操作。步驟1:在自己的個人計算機中為Python語言建立一個文件夾(例如:\Python)。步驟2:下載Python軟件?;ヂ?lián)網(wǎng)上有很多地方提供了下載服務(wù)。這里,我們選擇在Python的官網(wǎng)上下載python。打開Python官網(wǎng)(。
Python官網(wǎng)1.5.1安裝Python開發(fā)環(huán)境鼠標(biāo)指向“Downloads”-“Windows”菜單命令,屏幕顯示如圖所示,單擊“Python3.8.1”按鈕,按屏幕提示,將Python軟件下載到指定的文件夾。
選擇“Windows”1.5.1安裝Python開發(fā)環(huán)境步驟3:下載完成后雙擊執(zhí)行下載的exe程序,進入安裝界面。(安裝完成后,若再次單擊該程序,可執(zhí)行卸載Python的操作。)
Python安裝界面1.5.1安裝Python開發(fā)環(huán)境在選擇安裝時,可以把下方的“AddPython3.8toPATH”勾選上,直接默認(rèn)把用戶變量添加上,后續(xù)不用再添加。安裝界面中可以選擇默認(rèn)安裝或者自定義安裝。由于默認(rèn)安裝路徑層次比較深,可以選擇自定義安裝,例如將Python程序系統(tǒng)安裝在前面定義的“\Python”目錄中,以方便后續(xù)查找。其他選項選擇默認(rèn)(見圖1-12),單擊“Next”按鈕,進一步的高級選項選擇默認(rèn)(見圖1-13),單機“Install”按鈕,完成安裝(見圖1-14)。1.5.1安裝Python開發(fā)環(huán)境圖1-12設(shè)置選項1.5.1安裝Python開發(fā)環(huán)境圖1-13設(shè)置高級選項1.5.1安裝Python開發(fā)環(huán)境圖1-14完成安裝1.5.1安裝Python開發(fā)環(huán)境步驟4:安裝成功。在安裝目錄可以看到Python安裝文件的相關(guān)信息,在“開始”菜單可以單擊“Python3.8”>“Python3.8(32-bit)”命令,打開Python軟件。至此,可以使用Python了。
Python操作界面1.5.1安裝Python開發(fā)環(huán)境下載安裝后,若沒有改動缺省設(shè)置的安裝路徑,那么Python3.x版會放在C:\Python中。Windows“開始”菜單的“Python3.8”子菜單中也會出現(xiàn)“IDLE(Python3.832-bit)”命令,這是一款簡易的圖形化開發(fā)編輯器。請分析并記錄:(1)你實際選擇安裝的Python軟件版本是:答:__________________________________________________________________________(2)你是否完成Python軟件的安裝?若未完成,則簡單分析原因是什么?答:________________________________________________________________________________________________________________________________________________________1.5.1安裝Python開發(fā)環(huán)境安裝后的Python程序運行環(huán)境,里面最主要的部分是“解釋器”,解釋器負(fù)責(zé)執(zhí)行程序,把Python程序交給它后,它就開始解析程序代碼、檢查語法有無錯誤、根據(jù)程序語義去完成任務(wù)(例如計算某個數(shù)學(xué)公式)、把數(shù)據(jù)存回文件、通過網(wǎng)絡(luò)請求到某網(wǎng)站,等等,而這些具體功能都會由某個程序庫負(fù)責(zé);解釋器與眾多程序庫再加上Python運行環(huán)境的其他部分,將會往下層存取操作系統(tǒng)提供的服務(wù),完成程序代碼定義的功能。當(dāng)然這是極度簡化后的示意圖,Python程序運行環(huán)境可再細分出許多部分,解釋器的功能也可再細分。解釋器是Python程序運行環(huán)境的門戶,編寫Python程序時,直接面對的就是解釋器。運行環(huán)境架構(gòu)1.5.1安裝Python開發(fā)環(huán)境Python具有非常豐富龐大的程序庫,例如處理各種數(shù)據(jù)形式的程序庫、網(wǎng)絡(luò)連線的程序庫、存取文件系統(tǒng)的程序庫等。1.5.2執(zhí)行Python程序下面我們來學(xué)習(xí)編寫控制機器內(nèi)部計算過程的程序。我們通過向Python解釋器發(fā)出指令來指揮計算機內(nèi)部的計算過程??梢杂媒换ツJ絾覲ython解釋器(shell)。shell允許用戶在其中鍵入Python命令,然后顯示執(zhí)行結(jié)果。啟動shell的具體細節(jié)因不同的Python安裝而異。一般情況下,我們會使用IDLE應(yīng)用程序,它提供了Pythonshell,可以幫助我們創(chuàng)建和編輯Python程序。在Windows“開始”菜單中單擊“IDLE(Python3.832-bit)”命令,屏幕顯示IDLE窗口。
PythonIDLE窗口1.5.2執(zhí)行Python程序當(dāng)?shù)谝淮螁覫DLE時,所看到的具體的啟動消息取決于當(dāng)前正在運行的Python版本和正在使用的系統(tǒng)。重要的部分是圖中的最后一行,>>>
是一個Python提示符,表示Python解釋器正在進行展示交互式會話,等待給它的命令。在編程語言中,一個完整的命令稱為語句(注意,不要使用中文的句號、引號等符號)。下面是與Pythonshell交互的例子:>>>print("Hello,World!")Hello,World!>>>print(2+3)5>>>print("2+3=",2+3)2+3=51.5.2執(zhí)行Python程序1.5.2執(zhí)行Python程序這里,我們嘗試了三個使用Python的print語句的例子。第一個print語句要求Python顯示文本短語“Hello,World!”,Python在下一行做出響應(yīng),打印出該短語。第二個print語句要求Python打印2與3之和。第三個print結(jié)合了這兩個想法。Python打印出引號中的部分“2+3=”,然后是2+3的結(jié)果,即5。建議讀者啟動自己的Pythonshell并嘗試這些例子。Python允許我們將一系列語句放在一起,創(chuàng)建一個全新的命令或函數(shù)。下面的例子創(chuàng)建了一個名為hello的新函數(shù):>>>defhello():print("Hello")print("計算機很有趣!")>>>1.5.2執(zhí)行Python程序1.5.2執(zhí)行Python程序第一行告訴Python我們正在定義一個新函數(shù),命名為hello。接下來兩行縮進,表明它們是hello函數(shù)的一部分。最后的空白行(通過按兩次回車鍵獲得)讓Python知道定義己完成,并且shell用另一個提示符進行響應(yīng)。注意,鍵入定義并不會導(dǎo)致Python打印任何東西。我們告訴Python,當(dāng)hello函數(shù)用作命令時應(yīng)該發(fā)生什么,但實際上并沒有要求Python執(zhí)行它。鍵入函數(shù)名稱并跟上括號,函數(shù)就被調(diào)用了。下面是使用hello命令時發(fā)生的事情:>>>hello()Hello計算機很有趣!>>>1.5.2執(zhí)行Python程序1.5.2執(zhí)行Python程序這時,hello函數(shù)定義中的兩個print語句按順序執(zhí)行了。命令可以有可變部分,稱為參數(shù),放在括號中。讓我們看一個使用參數(shù)、自定義問候語的例子。先是定義:>>>defgreet(person):print("Hello",person)print("Howareyou?")1.5.2執(zhí)行Python程序現(xiàn)在我們可以使用定制的問候。>>>greet("John")HelloJohnHowareyou?>>>greet("Emily")HelloEmilyHowareyou?>>>1.5.2執(zhí)行Python程序1.5.2執(zhí)行Python程序使用greet時,我們可以發(fā)送不同的名稱,從而自定義結(jié)果。print是Python中的一個內(nèi)置函數(shù),當(dāng)我們調(diào)用print函數(shù)時,括號中的參數(shù)告訴函數(shù)要打印什么。注意到,執(zhí)行一個函數(shù)時,括號必須包含在函數(shù)名之后,即使沒有給出參數(shù)也是如此。例如,可以使用print而不使用任何參數(shù),創(chuàng)建一個空白的輸出行。>>>print()>>>但是如果只鍵入函數(shù)的名稱,省略括號,函數(shù)將不會真正執(zhí)行。這時,交互式Python會話將顯示一些輸出,表明名稱所引用的函數(shù),如下面的交互所示:>>>greet<functiongreetatOx8393aec>>>>print<built-infunctionprint)1.5.2執(zhí)行Python程序1.5.2執(zhí)行Python程序這里的0x8393aec是在計算機存儲器中的位置(地址),其中恰好存儲了greet函數(shù)的定義。如果你在自己的計算機上嘗試,肯定會看到不同的地址。如果將函數(shù)交互式地輸入到Pythonshell中,當(dāng)退出shell時,定義會丟失。如果下次希望再次使用它們時,必須重新鍵入。1.5.2執(zhí)行Python程序?qū)嶋H上,程序的創(chuàng)建通常是將定義寫入獨立的文件,稱為“模塊”或“腳本”。此文件保存在輔助存儲器中,可以反復(fù)使用。模塊文件是一個文本文件,可以用任何應(yīng)用程序來編輯文本,例如記事本或文字處理程序,只要將程序保存為“純文本”文件即可。有一種特殊類型的應(yīng)用稱為集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)簡化了這個過程,它們專門設(shè)計用于幫助程序員編寫程序,包括自動縮進、顏色高亮顯示和交互式開發(fā)等功能。作為Pythonshell的IDLE就是一個簡單卻完整的開發(fā)環(huán)境?!癐DLE”中多出來的字母“L”是表達對EricIdle(埃里克·艾多爾)的致敬,他是英國六人喜劇團體MontyPython的6位成員之一。1.5.2執(zhí)行Python程序我們來編寫并運行一個完整的程序,以說明模塊文件的使用。要將此程序鍵入IDLE,應(yīng)選擇File/NewFile菜單選項。這將打開一個空白(非shell)窗口,可以在其中鍵入程序。下面是程序的Python代碼:【程序?qū)嵗?-1】一個簡單的示例程序。#chaos.py#一個隨意編寫的簡單程序,沒有特定的目的defmain():print("該程序說明了一個隨意的功能。")x=eval(input("輸入0到
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沉箱碼頭施工方案
- 室內(nèi)電纜敷設(shè)施工方案
- 2025年東師復(fù)試化學(xué)試題及答案
- 2025年高職數(shù)據(jù)庫試題及答案
- 5年級下冊英語第1第2單元單詞跟讀
- 5年級上冊第5單元摘抄
- 燈泡溫度與電阻的關(guān)系式
- 地下車庫 行政復(fù)議申請
- 機械合同的施工方案
- 2025年合肥信息技術(shù)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫學(xué)生專用
- 少兒財商教育講座課件
- 醫(yī)院醫(yī)用耗材SPD服務(wù)項目投標(biāo)方案
- 2025年保密知識試題庫附參考答案(精練)
- 全國普通高等學(xué)校2025屆高三第二次調(diào)研數(shù)學(xué)試卷含解析
- 南昌起義模板
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計劃書一等獎
- 2024年10月高等教育自學(xué)考試13015計算機系統(tǒng)原理試題及答案
- GB/T 3324-2024木家具通用技術(shù)條件
- 2024秋期國家開放大學(xué)本科《古代小說戲曲專題》一平臺在線形考(形考任務(wù)4)試題及答案
- 血吸蟲病知識宣傳講座
- 詩經(jīng)的課件教學(xué)課件
評論
0/150
提交評論