官术网_书友最值得收藏!

第2章 Python簡(jiǎn)介

盡管每種編程語(yǔ)言都具有各自的特點(diǎn)(實(shí)際上這些特點(diǎn)沒(méi)有語(yǔ)言設(shè)計(jì)者宣稱的那么多),但在某些方面,它們還是有共同之處的。

? 低級(jí)編程高級(jí)編程:二者之間的區(qū)別是,編寫程序時(shí),我們是使用機(jī)器層次的指令和數(shù)據(jù)對(duì)象(例如,將64位數(shù)據(jù)從一個(gè)位置移動(dòng)到另一個(gè)位置),還是使用語(yǔ)言設(shè)計(jì)者提供的更為抽象的操作(例如,在屏幕上彈出一個(gè)菜單)。

? 通用性專注于某一應(yīng)用領(lǐng)域:指編程語(yǔ)言中的基本操作是廣泛適用的還是只針對(duì)某個(gè)領(lǐng)域。例如,SQL設(shè)計(jì)的目的是使你更容易地從關(guān)系數(shù)據(jù)庫(kù)提取信息,但你不能指望它去建立一個(gè)操作系統(tǒng)。

? 解釋運(yùn)行編譯運(yùn)行:指程序員編寫的指令序列,即源代碼是直接執(zhí)行(通過(guò)解釋器)的,還是要先轉(zhuǎn)換(通過(guò)編譯器)成機(jī)器層次的基礎(chǔ)操作序列。(在早期的計(jì)算機(jī)中,人們必須使用與機(jī)器編碼非常相似的語(yǔ)言來(lái)編寫源代碼,這種代碼可以直接被計(jì)算機(jī)硬件解釋執(zhí)行。)這兩種方法各有優(yōu)勢(shì)。使用解釋型語(yǔ)言編寫的程序更易調(diào)試,因?yàn)榻忉屍骺梢越o出與源代碼相關(guān)的錯(cuò)誤信息。而編譯型語(yǔ)言編寫的程序速度更快,占用的空間也更少。

在本書中,我們使用的語(yǔ)言是Python,但不僅限于Python。雖然本書可以幫助讀者學(xué)習(xí)Python,但更重要的是,細(xì)心的讀者可以從中學(xué)會(huì)如何通過(guò)編寫程序解決問(wèn)題。這種技能可以轉(zhuǎn)化到任何一種編程語(yǔ)言中。

Python是一門通用性編程語(yǔ)言,幾乎可以快速創(chuàng)建任何類型的程序,而不需要直接訪問(wèn)計(jì)算機(jī)硬件。然而,如果想創(chuàng)建高可靠性的程序,Python并不是最好的選擇(因?yàn)樗撵o態(tài)語(yǔ)義檢查比較弱)。同樣,它也不適于需要多人或長(zhǎng)時(shí)間編寫與維護(hù)的程序(原因還是糟糕的靜態(tài)語(yǔ)義檢查)。

但是,相對(duì)于多數(shù)其他語(yǔ)言,Python確實(shí)有一些過(guò)人之處。它相當(dāng)簡(jiǎn)單,易于學(xué)習(xí)。因?yàn)镻ython是解釋型語(yǔ)言,所以能夠提供實(shí)時(shí)反饋,這對(duì)編程新手特別有用。Python還可以調(diào)用大量免費(fèi)的程序庫(kù),極大地?cái)U(kuò)展了自己的功能。本書也會(huì)用到一些庫(kù)。

下面開(kāi)始學(xué)習(xí)Python中的一些基本元素。這些概念幾乎對(duì)所有語(yǔ)言都是通用的,只是在實(shí)現(xiàn)細(xì)節(jié)上有所差別。

需要提醒各位,本書并不會(huì)全面介紹Python。我們只是將Python作為一個(gè)工具,目的是闡明并思考和解決計(jì)算問(wèn)題相關(guān)的概念。當(dāng)這個(gè)隱含目標(biāo)有需要的時(shí)候,我們會(huì)零零散散地介紹一些語(yǔ)言知識(shí),至于與這個(gè)目標(biāo)無(wú)關(guān)的Python特性則根本不會(huì)提及。我們認(rèn)為這樣做沒(méi)有什么問(wèn)題,因?yàn)楝F(xiàn)在有無(wú)數(shù)優(yōu)秀的在線資源,幾乎涵蓋了這門語(yǔ)言的各個(gè)方面。講授本書基于的課程時(shí),我們建議學(xué)生使用這些免費(fèi)的在線資源作為Python的參考資料。

Python是一門鮮活的語(yǔ)言。自從吉多·范·羅蘇姆1990年發(fā)明Python以來(lái),它已經(jīng)發(fā)生了很多變化。最初的10年中,Python默默無(wú)聞,備受冷落。直到2000年P(guān)ython推出2.0版本,情況才發(fā)生轉(zhuǎn)變。除了語(yǔ)言本身實(shí)現(xiàn)了很多重要的改進(jìn),其演化路徑也發(fā)生了標(biāo)志性的轉(zhuǎn)變。很多人開(kāi)始開(kāi)發(fā)可以與Python無(wú)縫對(duì)接的程序庫(kù),并提供持續(xù)性的支持。Python生態(tài)系統(tǒng)下的開(kāi)發(fā)成為一種基于社區(qū)的活動(dòng)。Python 3.0在2008年末發(fā)布。這個(gè)版本的Python修正了Python 2的多個(gè)發(fā)布版本(通常稱為Python 2.x)在設(shè)計(jì)上的不一致。但是,它不是向后兼容的,這意味著大多數(shù)使用Python以前版本編寫的程序不能在Python 3中正常運(yùn)行。

過(guò)去的幾年中,多數(shù)重要領(lǐng)域的Python程序庫(kù)都轉(zhuǎn)向了Python 3,并使用Python 3.5進(jìn)行了充分的測(cè)試,這就是本書所使用的Python版本。

主站蜘蛛池模板: 广东省| 海阳市| 翁源县| 武乡县| 杭锦后旗| 大安市| 阿鲁科尔沁旗| 通许县| 武冈市| 汤阴县| 木兰县| 理塘县| 屯门区| 怀远县| 高淳县| 那曲县| 青铜峡市| 伽师县| 漳平市| 六盘水市| 前郭尔| 邛崃市| 兴城市| 驻马店市| 太仆寺旗| 洪洞县| 安岳县| 博客| 洪湖市| 太和县| 永州市| 和平县| 沈丘县| 抚顺市| 湖南省| 夹江县| 石棉县| 盐城市| 平乐县| 枣强县| 思南县|