Python編程基礎(chǔ)-第1章-Python語(yǔ)言概述_第1頁(yè)
Python編程基礎(chǔ)-第1章-Python語(yǔ)言概述_第2頁(yè)
Python編程基礎(chǔ)-第1章-Python語(yǔ)言概述_第3頁(yè)
Python編程基礎(chǔ)-第1章-Python語(yǔ)言概述_第4頁(yè)
Python編程基礎(chǔ)-第1章-Python語(yǔ)言概述_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、廈門大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 2022年第1章 Python語(yǔ)言概述Python程序設(shè)計(jì)基礎(chǔ)教程(微課版)/post/python林子雨 博士/副教授廈門大學(xué)計(jì)算機(jī)科學(xué)系E-mail: ziyulin主頁(yè):/post/linziyu主講教師主講教師:廈門大學(xué) 林子雨 博士/副教授中國(guó)高校首個(gè)“數(shù)字教師”提出者和建設(shè)者2009年7月從事教師職業(yè)以來(lái)累計(jì)免費(fèi)網(wǎng)絡(luò)發(fā)布超過(guò)1500萬(wàn)字高價(jià)值教學(xué)和科研資料網(wǎng)絡(luò)瀏覽量超過(guò)1500萬(wàn)次2017年度廈門大學(xué)獎(jiǎng)教金獲得者2020年度廈門大學(xué)獎(jiǎng)教金獲得者提綱1.1 計(jì)算機(jī)語(yǔ)言1.2 Python簡(jiǎn)介1.3 搭建Python開發(fā)環(huán)境1.4 Python規(guī)范 Pyth

2、on程序設(shè)計(jì)基礎(chǔ)教程(微課版) 教材官方網(wǎng)站:/post/python本PPT是如下教材的配套講義:Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 廈門大學(xué) 林子雨,趙江聲,陶繼平 編著,人民郵電出版社1.1 計(jì)算機(jī)語(yǔ)言1.1.1 計(jì)算機(jī)語(yǔ)言的種類1.1.2 編程語(yǔ)言的選擇1.1.1 計(jì)算機(jī)語(yǔ)言的種類1.機(jī)器語(yǔ)言2.匯編語(yǔ)言3.高級(jí)語(yǔ)言1.1.1 計(jì)算機(jī)語(yǔ)言的種類1.機(jī)器語(yǔ)言機(jī)器語(yǔ)言是最低級(jí)的語(yǔ)言,是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識(shí)別和執(zhí)行的一種機(jī)器指令的集合。它是計(jì)算機(jī)的設(shè)計(jì)者通過(guò)計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能。機(jī)器語(yǔ)言具有靈活、直接執(zhí)行和速度快等特點(diǎn)。不同的計(jì)算機(jī)都有各自的機(jī)器語(yǔ)言,不同型號(hào)

3、的計(jì)算機(jī)的機(jī)器語(yǔ)言是不相通的,按照一種計(jì)算機(jī)的機(jī)器指令編制的程序,不能在另一種計(jì)算機(jī)上執(zhí)行。在計(jì)算機(jī)發(fā)展的早期階段,程序員使用機(jī)器語(yǔ)言來(lái)編寫程序,編出的程序全是由0和1構(gòu)成的指令代碼,可讀性差,還容易出錯(cuò)。計(jì)算機(jī)語(yǔ)言發(fā)展到今天,除了計(jì)算機(jī)生產(chǎn)廠家的專業(yè)人員外,絕大多數(shù)的程序員已經(jīng)不再去學(xué)習(xí)機(jī)器語(yǔ)言了。1.1.1 計(jì)算機(jī)語(yǔ)言的種類2.匯編語(yǔ)言匯編語(yǔ)言是用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱為“符號(hào)語(yǔ)言”。在匯編語(yǔ)言中,用助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址,從而增強(qiáng)了程序的可讀性,并降低了編程難度。使用匯編語(yǔ)言編寫的程序,不能直接被機(jī)器識(shí)

4、別,還要由匯編程序(或者叫“匯編語(yǔ)言編譯器”)轉(zhuǎn)換成機(jī)器指令。匯編語(yǔ)言的目標(biāo)代碼簡(jiǎn)短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語(yǔ)言,到現(xiàn)在依然是常用的編程語(yǔ)言之一。但是,匯編語(yǔ)言只是將機(jī)器語(yǔ)言做了簡(jiǎn)單編譯,并沒有根本上解決機(jī)器語(yǔ)言的特定性,所以,匯編語(yǔ)言和機(jī)器自身的編程環(huán)境是息息相關(guān)的,推廣和移植比較困難。1.1.1 計(jì)算機(jī)語(yǔ)言的種類3.高級(jí)語(yǔ)言由于匯編語(yǔ)言依賴于硬件體系,且助記符量大難記,于是人們又發(fā)明了更加簡(jiǎn)單易用的高級(jí)語(yǔ)言。和匯編語(yǔ)言相比,高級(jí)語(yǔ)言不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無(wú)關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡(jiǎn)化了程序中的指令。

5、同時(shí),由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識(shí),經(jīng)過(guò)一定的學(xué)習(xí)之后都可以編程。但是,高級(jí)語(yǔ)言生成的程序代碼一般比用匯編語(yǔ)言設(shè)計(jì)的程序代碼要長(zhǎng),執(zhí)行的速度也慢。高級(jí)語(yǔ)言主要是相對(duì)于低級(jí)語(yǔ)言而言,它并不是特指某一種具體的語(yǔ)言,而是包括了很多種編程語(yǔ)言,如流行的Java、C、C+、C#、Pascal、Python、Scala、PHP等,這些語(yǔ)言的語(yǔ)法、命令格式都各不相同。1.1.1 計(jì)算機(jī)語(yǔ)言的種類3.高級(jí)語(yǔ)言高級(jí)語(yǔ)言編寫的程序不能直接被計(jì)算機(jī)識(shí)別,必須經(jīng)過(guò)轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:解釋類和編譯類。對(duì)于解釋類的高級(jí)語(yǔ)言而言(比如Python),應(yīng)用程序源代碼一邊由相應(yīng)語(yǔ)

6、言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),一邊執(zhí)行,因此,效率相對(duì)較低,而且不能生成可獨(dú)立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動(dòng)態(tài)地調(diào)整、修改應(yīng)用程序。對(duì)于編譯類的高級(jí)語(yǔ)言而言(比如Java),在應(yīng)用程序源代碼執(zhí)行之前,首先需要將源代碼“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),因此,其目標(biāo)程序可以脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。但是,應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件才能執(zhí)行。1.1.2 編程語(yǔ)言的選擇隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)程序設(shè)計(jì)課程在高校中成為一門必修的基礎(chǔ)課程,對(duì)于這門課程而言,關(guān)鍵是要選擇一種合適的編程語(yǔ)言(高級(jí)

7、語(yǔ)言)。以前,大部分高校采用的編程語(yǔ)言往往是C、C+或Java,但是,最近幾年,Python憑借其獨(dú)特的優(yōu)勢(shì)逐漸嶄露頭角。Python語(yǔ)言是一種解釋型、面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,廣泛用于計(jì)算機(jī)程序設(shè)計(jì)教學(xué)、系統(tǒng)管理編程、科學(xué)計(jì)算等,特別適用于快速的應(yīng)用程序開發(fā)。目前,各大高校越來(lái)越重視Python教學(xué),Python已經(jīng)成為最受歡迎的程序設(shè)計(jì)語(yǔ)言之一。與傳統(tǒng)編程語(yǔ)言的復(fù)雜開發(fā)過(guò)程不同,Python語(yǔ)言在操作上非常方便、快捷,學(xué)習(xí)者容易掌握,可以提升編程效率,并增強(qiáng)其學(xué)習(xí)信心。1.1.2 編程語(yǔ)言的選擇具體而言,Python的主要優(yōu)勢(shì)如下:(1)學(xué)習(xí)入門容易。與C、C+、Java語(yǔ)言相比,Py

8、thon語(yǔ)言在編寫代碼時(shí)不需要建立main函數(shù),無(wú)論是書寫還是掌握計(jì)算機(jī)算法都比較簡(jiǎn)單。而且,Python語(yǔ)言中沒有大量的語(yǔ)法知識(shí),只要在理解的基礎(chǔ)上掌握部分環(huán)節(jié)即可,能實(shí)現(xiàn)教學(xué)資源的合理配置。(2)功能強(qiáng)大。當(dāng)使用Python語(yǔ)言編寫程序的時(shí)候,我們不需要考慮如何管理程序使用的內(nèi)存之類的細(xì)節(jié)。并且,Python有很豐富的庫(kù),其中既有官方開發(fā)的,也有第三方開發(fā)的,很多功能模塊都已經(jīng)寫好了,我們只需要調(diào)用即可,不需要重新發(fā)明“輪子”。(3)應(yīng)用領(lǐng)域非常廣泛。Python語(yǔ)言可以應(yīng)用到網(wǎng)站后端開發(fā)、自動(dòng)化運(yùn)維、數(shù)據(jù)分析、游戲開發(fā)、自動(dòng)化測(cè)試、網(wǎng)絡(luò)爬蟲、智能硬件開發(fā)等各個(gè)領(lǐng)域。1.1.2 編程語(yǔ)言的

9、選擇此外,類似Python的編程語(yǔ)言也是高級(jí)語(yǔ)言發(fā)展的必然選擇。從程序設(shè)計(jì)語(yǔ)言發(fā)展角度來(lái)看,高級(jí)語(yǔ)言的設(shè)計(jì)一直在追求接近人類的自然語(yǔ)言。C、Java、VB等都在朝著這個(gè)方向努力,而Python語(yǔ)言則是更進(jìn)了一步,它提供了十分接近人類理解的語(yǔ)法形式。應(yīng)該說(shuō),Python語(yǔ)言優(yōu)化了高級(jí)語(yǔ)言的表達(dá)形式,簡(jiǎn)化了程序設(shè)計(jì)過(guò)程,提升了程序設(shè)計(jì)效率。從計(jì)算思維培養(yǎng)角度來(lái)說(shuō),傳統(tǒng)的C、Java和VB等語(yǔ)言過(guò)分強(qiáng)調(diào)語(yǔ)法,并不適合非計(jì)算機(jī)專業(yè)的學(xué)生。從傳統(tǒng)應(yīng)用技能教育向計(jì)算思維培養(yǎng)轉(zhuǎn)變過(guò)程中,教學(xué)內(nèi)容變革是重中之重。對(duì)于程序設(shè)計(jì)課程,選擇適合時(shí)代和技術(shù)發(fā)展的編程語(yǔ)言,是顯著提高培養(yǎng)效果的前提和基礎(chǔ)。從解決計(jì)算問(wèn)題

10、的角度,傳統(tǒng)的C、Java和VB語(yǔ)言過(guò)分強(qiáng)調(diào)語(yǔ)法,而Python語(yǔ)言作為“輕語(yǔ)法”程序設(shè)計(jì)語(yǔ)言,相比其他語(yǔ)言而言具有更高的教學(xué)價(jià)值。1.2 Python簡(jiǎn)介1.2.1 什么是Python1.2.2 Python語(yǔ)言的特點(diǎn)1.2.3 Python語(yǔ)言的應(yīng)用1.2.4 Python的版本 Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 教材官方網(wǎng)站:/post/python本PPT是如下教材的配套講義:Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 廈門大學(xué) 林子雨,趙江聲,陶繼平 編著,人民郵電出版社1.2.1 什么是PythonPython(發(fā)音pan)是1989年由荷蘭人Guido van Rossum發(fā)明

11、的一種面向?qū)ο蟮慕忉屝透呒?jí)編程語(yǔ)言,它的標(biāo)志如圖1-1所示。Python的第一個(gè)公開發(fā)行版發(fā)行于1991年,自從2004年以后,Python的使用率呈線性增長(zhǎng)。TIOBE在2019年1月發(fā)布的排行榜顯示,Python獲得“TIOBE最佳年度語(yǔ)言”稱號(hào),這是Python第3次獲得“TIOBE最佳年度語(yǔ)言”,也是獲獎(jiǎng)次數(shù)最多的編程語(yǔ)言。發(fā)展到今天,Python已經(jīng)成為最受歡迎的程序設(shè)計(jì)語(yǔ)言之一。圖1-1 Python的標(biāo)志1.2.1 什么是PythonPython常被稱為“膠水語(yǔ)言”,能夠把用其它語(yǔ)言制作的各種模塊(尤其是C/C+)很輕松地連接在一起。常見的一種應(yīng)用情形是,使用Python快速生成

12、程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中有特別要求的部分,用更合適的語(yǔ)言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C+重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫(kù)。Python的設(shè)計(jì)哲學(xué)是“優(yōu)雅”、“明確”、“簡(jiǎn)單”。在設(shè)計(jì)Python語(yǔ)言時(shí),如果面臨多種選擇,Python開發(fā)者一般會(huì)拒絕花哨的語(yǔ)法,而選擇明確地沒有或者很少有歧義的語(yǔ)法??傮w來(lái)說(shuō),選擇Python開發(fā)程序具有簡(jiǎn)單、開發(fā)速度快、節(jié)省時(shí)間和精力等特點(diǎn),因此,在Python開發(fā)領(lǐng)域流傳著這樣一句話:“人生苦短,我用Python”。1.2.2 Python語(yǔ)言的特點(diǎn)1.Python語(yǔ)言的優(yōu)點(diǎn)2.Pyt

13、hon語(yǔ)言的缺點(diǎn)1.2.2 Python語(yǔ)言的特點(diǎn)1.Python語(yǔ)言的優(yōu)點(diǎn)(1)語(yǔ)言簡(jiǎn)單。Python是一門語(yǔ)法簡(jiǎn)單且風(fēng)格簡(jiǎn)約易讀的語(yǔ)言。它注重的是如何解決問(wèn)題,而不是編程語(yǔ)言本身的語(yǔ)法和結(jié)構(gòu)。Python語(yǔ)言丟掉了分號(hào)以及花括號(hào)這些儀式化的東西,使得語(yǔ)法結(jié)構(gòu)盡可能地簡(jiǎn)潔,代碼的可讀性顯著提高。相較于C、C+、Java等編程語(yǔ)言,Python語(yǔ)言提高了開發(fā)者的開發(fā)效率,削減了原來(lái)C語(yǔ)言、C+以及Java語(yǔ)言中一些較為復(fù)雜的語(yǔ)法,降低了編程工作的復(fù)雜程度,實(shí)現(xiàn)同樣的功能時(shí),Python語(yǔ)言所包含的代碼量是最少的,代碼行數(shù)是其他語(yǔ)言的1/5到1/3。1.2.2 Python語(yǔ)言的特點(diǎn)1.Pyth

14、on語(yǔ)言的優(yōu)點(diǎn)(2)開源、免費(fèi)。開源,即開放源代碼,也就是所有用戶都可以看到源代碼。Python的開源體現(xiàn)在兩方面:首先,程序員使用 Python 編寫的代碼是開源的;其次,Python 解釋器和模塊是開源的。開源并不等于免費(fèi),開源軟件和免費(fèi)軟件是兩個(gè)概念,只不過(guò)大多數(shù)的開源軟件也是免費(fèi)軟件。Python 就是這樣一種語(yǔ)言,它既開源又免費(fèi)。用戶使用 Python 進(jìn)行開發(fā)或者發(fā)布自己的程序,不需要支付任何費(fèi)用,也不用擔(dān)心版權(quán)問(wèn)題,即使作為商業(yè)用途,Python也是免費(fèi)的。1.2.2 Python語(yǔ)言的特點(diǎn)1.Python語(yǔ)言的優(yōu)點(diǎn)(3)面向?qū)ο?。面向?qū)ο蟮某绦蛟O(shè)計(jì),更加接近人類的思維方式,是對(duì)

15、現(xiàn)實(shí)世界中客觀實(shí)體進(jìn)行結(jié)構(gòu)和行為模擬。Python語(yǔ)言完全支持面向?qū)ο缶幊?,比如支持繼承、重載運(yùn)算符、派生以及多繼承等。與C+與Java相比,Python以一種非常強(qiáng)大而簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊?。需要說(shuō)明的是,Python在支持面向?qū)ο缶幊痰耐瑫r(shí),也支持面向過(guò)程的編程,也就是說(shuō),它不強(qiáng)制使用面向?qū)ο缶幊蹋@使得其編程更加靈活。在“面向過(guò)程”的編程中,程序是由過(guò)程或僅僅是可重用代碼的函數(shù)構(gòu)建起來(lái)的。在“面向?qū)ο蟆钡木幊讨?,程序是由?shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來(lái)的。1.2.2 Python語(yǔ)言的特點(diǎn)1.Python語(yǔ)言的優(yōu)點(diǎn)(4)跨平臺(tái)。由于Python是開源的,它已經(jīng)被移植到許多平臺(tái)上。如果

16、能夠避免使用那些需要依賴于系統(tǒng)的特性,那就意味著,所有Python程序都無(wú)需修改就可以在好多平臺(tái)上運(yùn)行,包括Linux、Windows、FreeBSD、Solaris等等,甚至還有PocketPC、Symbian以及Google基于Linux開發(fā)的Android平臺(tái)。解釋型語(yǔ)言幾乎天生就是跨平臺(tái)的。Python作為一門解釋型的語(yǔ)言,它天生具有跨平臺(tái)的特征,只要為平臺(tái)提供了相應(yīng)的Python解釋器,Python就可以在該平臺(tái)上運(yùn)行。1.2.2 Python語(yǔ)言的特點(diǎn)1.Python語(yǔ)言的優(yōu)點(diǎn)(5)強(qiáng)大的生態(tài)系統(tǒng)。在實(shí)際應(yīng)用中,Python語(yǔ)言的用戶群體,絕大多數(shù)并非專業(yè)的開發(fā)者,而是其他領(lǐng)域的愛

17、好者。對(duì)于這一部分用戶來(lái)說(shuō),他們學(xué)習(xí)Python語(yǔ)言的目的不是去做專業(yè)的程序開發(fā),而僅僅是使用現(xiàn)成的類庫(kù)去解決實(shí)際工作中的問(wèn)題。Python極其龐大的生態(tài),剛好能夠滿足這些用戶的需求。這在整個(gè)計(jì)算機(jī)語(yǔ)言發(fā)展史上都是開天辟地的,也是Python語(yǔ)言在各個(gè)領(lǐng)域盛行的原因。豐富的生態(tài)系統(tǒng)也給專業(yè)開發(fā)者帶來(lái)了極大的便利。大量成熟的第三方庫(kù)可以直接使用,專業(yè)開發(fā)者只需要使用很少的語(yǔ)法結(jié)構(gòu)就可以編寫出功能強(qiáng)大的代碼,縮短了開發(fā)周期,提高了開發(fā)效率。常用的Python第三方庫(kù)包括Matplotlib(數(shù)據(jù)可視化庫(kù))、NumPy(數(shù)值計(jì)算功能庫(kù))、SciPy(數(shù)學(xué)、科學(xué)、工程計(jì)算功能庫(kù))、pandas(數(shù)據(jù)分

18、析高層次應(yīng)用庫(kù))、Scrapy(網(wǎng)絡(luò)爬蟲功能庫(kù))、BeautifulSoup(HTML和XML的解析庫(kù))、Django(Web應(yīng)用框架)、Flask(Web應(yīng)用微框架)等。1.2.2 Python語(yǔ)言的特點(diǎn)2.Python語(yǔ)言的缺點(diǎn)(1)速度慢。運(yùn)行速度慢是解釋型語(yǔ)言的通病,Python也不例外。由于Python是解釋型語(yǔ)言,所以,它的速度會(huì)比C、C+、Java稍微慢一些。但是,由于現(xiàn)在的硬件配置都非常高,硬件性能的提升可以彌補(bǔ)軟件性能的不足,所以,運(yùn)行速度慢這一點(diǎn)對(duì)于使用Python開發(fā)應(yīng)用程序基本上沒有影響,除非是一些實(shí)時(shí)性比較強(qiáng)的程序可能會(huì)受到一些影響,但是也有解決辦法,比如可以嵌入C程

19、序。(2)存在多線程性能瓶頸。 Python中存在全局解釋器鎖(Global Interpreter Lock),它是一個(gè)互斥鎖,只允許一個(gè)線程來(lái)控制Python解釋器。當(dāng)Python的默認(rèn)解釋器要執(zhí)行字節(jié)碼時(shí),都需要先申請(qǐng)這個(gè)鎖。這意味著在任何時(shí)間點(diǎn),只有一個(gè)線程可以處于執(zhí)行狀態(tài)。執(zhí)行單線程程序的開發(fā)人員感受不到全局解釋器鎖的影響,但它卻成為多線程代碼中的性能瓶頸。1.2.2 Python語(yǔ)言的特點(diǎn)2.Python語(yǔ)言的缺點(diǎn)(3)代碼不能加密。我們?cè)诎l(fā)布Python程序時(shí),實(shí)際上就是發(fā)布源代碼。這一點(diǎn)跟C語(yǔ)言不同,C語(yǔ)言不用發(fā)布源代碼,只需要把編譯后的機(jī)器碼(也就是在Windows上常見的e

20、xe文件)發(fā)布出去。要從機(jī)器碼反推出C代碼是不可能的,所以,凡是編譯型的語(yǔ)言,都沒有這個(gè)問(wèn)題。而對(duì)于Python這樣的解釋型語(yǔ)言,則必須把源碼發(fā)布出去。(4)Python2.x和Python3.x不兼容。如果一個(gè)普通的軟件或者庫(kù)不能夠做到向后兼容,通常會(huì)被用戶拋棄。在Python中,一個(gè)飽受詬病的地方就是Python2.x和Python3.x不兼容,這給Python開發(fā)人員帶來(lái)了無(wú)數(shù)煩惱。1.2.3 Python語(yǔ)言的應(yīng)用1.數(shù)據(jù)科學(xué)Python被廣泛應(yīng)用于數(shù)據(jù)科學(xué)領(lǐng)域。在數(shù)據(jù)采集環(huán)節(jié),在Python的第三方庫(kù)Scrapy的支持下,可以編寫網(wǎng)絡(luò)爬蟲程序采集網(wǎng)頁(yè)數(shù)據(jù)。在數(shù)據(jù)清洗環(huán)節(jié),第三方庫(kù)pa

21、ndas提供了功能強(qiáng)大的類庫(kù),可以幫助我們清洗數(shù)據(jù)、排序數(shù)據(jù),最后得到清晰明了的數(shù)據(jù)。在數(shù)據(jù)處理分析環(huán)節(jié),第三方庫(kù)NumPy和SciPy提供了豐富的科學(xué)計(jì)算和數(shù)據(jù)分析功能,包括統(tǒng)計(jì)、優(yōu)化、整合、線性代數(shù)模塊、傅里葉變換、信號(hào)和圖像圖例、常微分方程求解、矩陣解析和概率分布等。在數(shù)據(jù)可視化環(huán)節(jié),第三方庫(kù)Matplotlib提供了豐富的數(shù)據(jù)可視化圖表。1.2.3 Python語(yǔ)言的應(yīng)用2.人工智能雖然可以使用各種不同的編程語(yǔ)言開發(fā)人工智能程序,但是,Python語(yǔ)言在人工智能領(lǐng)域具有獨(dú)特的優(yōu)勢(shì)。在人工智能領(lǐng)域,有許多基于Python語(yǔ)言的第三方庫(kù),比如,scikit-learn、Keras和NLTK

22、等。其中,scikit-learn是基于Python語(yǔ)言的機(jī)器學(xué)習(xí)工具,提供了簡(jiǎn)單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析功能;Keras是一個(gè)基于Python的深度學(xué)習(xí)庫(kù),提供了用Python編寫的高級(jí)神經(jīng)網(wǎng)絡(luò)API;NLTK是Python自然語(yǔ)言工具包,用于諸如標(biāo)記化、詞形還原、詞干化、解析、POS標(biāo)注等任務(wù)。此外,深度學(xué)習(xí)框架Tensorflow、Caffe等,主體都是用Python實(shí)現(xiàn)的,提供的原生接口也是面向Python的。1.2.3 Python語(yǔ)言的應(yīng)用在網(wǎng)站開發(fā)方面,Python具有Django、Flask、Pyramid、Bottle、Tornado、web2py等框架,使用Python開發(fā)

23、的網(wǎng)站具有小而精的特點(diǎn)。知乎、豆瓣、美團(tuán)、餓了么等網(wǎng)站都是使用Python搭建的。這一方面說(shuō)明了Python作為網(wǎng)站開發(fā)的受歡迎程度,另一方面也說(shuō)明Python語(yǔ)言用作網(wǎng)站開發(fā)經(jīng)受住了大規(guī)模用戶并發(fā)訪問(wèn)的考驗(yàn)。3.網(wǎng)站開發(fā)1.2.3 Python語(yǔ)言的應(yīng)用4.系統(tǒng)管理Python簡(jiǎn)單易用、語(yǔ)法優(yōu)美,特別適合系統(tǒng)管理的應(yīng)用場(chǎng)景。著名的開源云計(jì)算平臺(tái)OpenStack就是使用Python語(yǔ)言開發(fā)的。除此之外,Python生態(tài)中還有Ansible、Salt等自動(dòng)化部署工具,也是使用Python語(yǔ)言開發(fā)的。這么多使用廣泛、功能強(qiáng)大的系統(tǒng)管理工具,都是使用Python語(yǔ)言開發(fā),也反映了Python語(yǔ)言非

24、常適合系統(tǒng)管理的事實(shí)。1.2.3 Python語(yǔ)言的應(yīng)用5.網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁(yè)的程序,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成部分。Scrapy就是用Python實(shí)現(xiàn)的爬蟲框架,用戶只需要定制開發(fā)幾個(gè)模塊就可以輕松地實(shí)現(xiàn)一個(gè)爬蟲,用來(lái)抓取網(wǎng)頁(yè)內(nèi)容或者各種圖片。1.2.4 Python的版本1.Python2.x和Python3.x的區(qū)別Python官方網(wǎng)站目前同時(shí)發(fā)行Python2.x和Python3.x兩個(gè)不同系列的版本,并且彼此之間不兼容,除了輸入輸出方式有所不同,很多內(nèi)置函數(shù)的實(shí)現(xiàn)和使用方式也有較大差別??傮w而言,在語(yǔ)法層面,二者的主要區(qū)別表現(xiàn)在以下幾個(gè)方面:

25、(1)在Python2.x中,print語(yǔ)句被Python3.x中的print()函數(shù)所代替;(2)在Python3.x中,整數(shù)之間的相除(采用除法運(yùn)算符“/”實(shí)現(xiàn)),結(jié)果是浮點(diǎn)數(shù),而在Python2.x中結(jié)果是整數(shù);(3)Python3.x源碼文件默認(rèn)使用UTF-8編碼,所以支持直接寫入中文,而Python2.x默認(rèn)編碼是ASCII,直接寫入中文會(huì)被轉(zhuǎn)換成ANSI編碼。所以在Python2.x中需要進(jìn)行相應(yīng)的轉(zhuǎn)換;(4)在Python3.x中將range()與xrange()函數(shù)整合為一個(gè)range()函數(shù),所以在Python3.x中不存在xrange()函數(shù),而在Python2.x中這個(gè)兩

26、個(gè)函數(shù)是并存的。1.2.4 Python的版本2.使用Python2.x還是Python3.xPython2.x與Python3.x不兼容就會(huì)導(dǎo)致一個(gè)問(wèn)題,對(duì)于一個(gè)編程的初學(xué)者而言,應(yīng)該學(xué)習(xí)Python2.x還是學(xué)習(xí)Python3.x呢?這里建議直接學(xué)習(xí)Python3.x版本(比如,本教程使用Python3.8.7版本),理由如下:(1)Python2.x和Python3.x的思想是共通的。實(shí)際上,編程重在對(duì)編程思想的理解和經(jīng)驗(yàn)的積累,不同的編程語(yǔ)言,它們的很多思想都是共通的。Python2.x和Python3.x屬于同一種編程語(yǔ)言,更是如此,即Python2.x和Python3.x在編程思想

27、上基本是共通的。Python2.x和Python3.x的語(yǔ)法雖然存在不兼容的情況,但是,也只是一小部分語(yǔ)法不兼容。(2)使用Python3.x是大勢(shì)所趨。從總體趨勢(shì)而言,會(huì)有越來(lái)越多的開發(fā)者選擇Python3.x,放棄Python2.x。此外,圍繞Python3.x的第三方庫(kù)也會(huì)逐漸豐富起來(lái),這也會(huì)讓更多開發(fā)者投入Python3.x的懷抱。1.3 搭建Python開發(fā)環(huán)境1.3.1 安裝Python1.3.2 使用交互式執(zhí)行環(huán)境1.3.3 運(yùn)行代碼文件1.3.4使用IDLE編寫代碼1.3.5第三方開發(fā)工具 Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 教材官方網(wǎng)站:/post/python本PPT是

28、如下教材的配套講義:Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 廈門大學(xué) 林子雨,趙江聲,陶繼平 編著,人民郵電出版社1.3.1 安裝PythonPython可以用于多種平臺(tái),包括Windows、Linux和Mac OS等。本教程采用的操作系統(tǒng)是Windows7或以上版本,使用的Python版本是3.8.7。請(qǐng)到Python官網(wǎng)(/)下載與自己計(jì)算機(jī)操作系統(tǒng)匹配的安裝包,比如,64位Windows操作系統(tǒng)可以下載python-3.8.7-amd64.exe。在安裝過(guò)程中,要注意選中“Add python 3.8 to PATH”(如圖1-2所示),這樣可以在安裝過(guò)程中自動(dòng)配置PATH環(huán)境變量,避免

29、了手動(dòng)配置的繁瑣過(guò)程。圖1-2 Python安裝界面1.3.1 安裝Python安裝成功以后,需要檢測(cè)是否安裝成功??梢源蜷_Windows系統(tǒng)的cmd命令界面,并在命令提示符后面輸入“python”后回車,如果出現(xiàn)如圖1-3所示信息,則說(shuō)明Python已經(jīng)安裝成功。圖1-3 Python命令行界面1.3.2 使用交互式執(zhí)行環(huán)境圖1-3呈現(xiàn)的界面就是一個(gè)交互式執(zhí)行環(huán)境(或稱為“解釋器”),可以在Python命令提示符“”后面輸入各種Python代碼,按回車后就會(huì)立即看到執(zhí)行結(jié)果,比如: print(Hello World)Hello World 1+23 2*(3+4)141.3.3 運(yùn)行代碼文

30、件假設(shè)在Windows系統(tǒng)的C盤根目錄下已經(jīng)存在一個(gè)代碼文件hello.py,該文件里面只有如下一行代碼:print(Hello World)現(xiàn)在我們要運(yùn)行這個(gè)代碼文件??梢源蜷_Windows系統(tǒng)的cmd命令界面,并在命令提示符后面輸入如下語(yǔ)句:$ python C:hello.py 運(yùn)行結(jié)果如圖1-4所示。圖1-4 在cmd命令界面中執(zhí)行Python代碼文件1.3.4使用IDLE編寫代碼Python安裝成功以后,會(huì)自帶一個(gè)集成式開發(fā)環(huán)境IDLE,它是一個(gè)Python Shell,程序開發(fā)人員可以利用Python Shell與Python交互。在Windows系統(tǒng)的“開始”菜單中找到“IDLE

31、(Python 3.8 64-bit)”,打開進(jìn)入IDLE主窗口(如圖1-5所示),窗口左側(cè)會(huì)顯示Python命令提示符“”,可以在提示符后面輸入Python代碼,回車后就會(huì)立即執(zhí)行并返回結(jié)果。圖1-5 IDLE主窗口1.3.4使用IDLE編寫代碼如果要?jiǎng)?chuàng)建一個(gè)代碼文件,可以在IDLE主窗口的頂部菜單欄中選擇“File-New File”,然后就會(huì)彈出如圖1-6所示的文件窗口,可以在里面輸入Python代碼,然后,在頂部菜單欄中選擇“File-Save As.”,把文件保存為hello.py。圖1-6 IDLE的文件窗口1.3.4使用IDLE編寫代碼如果要運(yùn)行代碼文件hello.py,可以在I

32、DLE的文件窗口的頂部菜單欄中,選擇“Run-Run Module”(或者直接使用快捷鍵“F5”),這時(shí)就會(huì)開始運(yùn)行程序。程序運(yùn)行結(jié)束后,會(huì)在IDLE Shell窗口顯示執(zhí)行結(jié)果(如圖1-7所示)。圖1-7 程序執(zhí)行結(jié)果1.3.4使用IDLE編寫代碼在實(shí)際開發(fā)中,可以通過(guò)使用IDLE提供的快捷鍵(如表1-1所示)來(lái)提高程序開發(fā)效率??旖萱I功能說(shuō)明F1打開Python幫助文檔F5運(yùn)行Python代碼文件Ctrl+縮進(jìn)代碼塊Ctrl+取消代碼塊縮進(jìn)Ctrl+F6重新啟動(dòng)IDLE ShellCtrl+Z撤銷一步操作Ctrl+Shift+Z恢復(fù)上一次的撤銷操作Ctrl+S保存文件Alt+P瀏覽歷史命令

33、(上一條)Alt+N瀏覽歷史命令(下一條)Alt+/自動(dòng)補(bǔ)全前面曾經(jīng)出現(xiàn)過(guò)的單詞,如果之前有多個(gè)單詞具有相同前綴,可以連續(xù)按該快捷鍵,在多個(gè)單詞中循環(huán)選擇Alt+3注釋代碼塊Alt+4 取消代碼塊注釋Alt+g轉(zhuǎn)到某一行表1-1 IDLE常用快捷鍵1.3.5第三方開發(fā)工具除了Python自帶的IDLE以外,我們還可以選擇其他第三方開發(fā)工具進(jìn)行Python編程,主要包括:(1)PyCharm。PyCharm是一款功能強(qiáng)大的Python編輯器,具有跨平臺(tái)性,可以應(yīng)用在Windows、Linux和Mac OS系統(tǒng)中。PyCharm擁有一般的集成式開發(fā)環(huán)境應(yīng)該具備的功能,比如調(diào)試、語(yǔ)法高亮、項(xiàng)目管理、

34、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制等。另外,PyCharm還提供了一些很好的功能用于Django開發(fā),而且還支持Google App Engine。(2)Eclipse。Eclipse是著名的、跨平臺(tái)的自由集成式開發(fā)環(huán)境。最初主要用于Java語(yǔ)言開發(fā),但是通過(guò)安裝插件,可以將其作為其他計(jì)算機(jī)語(yǔ)言(比如C+和Python)的開發(fā)工具。如果要使用Eclipse進(jìn)行Python開發(fā),則需要安裝插件PyDev。(3)Jupyter Notebook。最初只支持Python開發(fā),后來(lái)發(fā)展到可以支持其他40多種編程語(yǔ)言,目前已經(jīng)成為用Python做教學(xué)、計(jì)算、科研的一個(gè)重要工具。1.4 Py

35、thon規(guī)范1.4.1 注釋規(guī)則1.4.2 代碼縮進(jìn) Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 教材官方網(wǎng)站:/post/python本PPT是如下教材的配套講義:Python程序設(shè)計(jì)基礎(chǔ)教程(微課版) 廈門大學(xué) 林子雨,趙江聲,陶繼平 編著,人民郵電出版社1.4.1 注釋規(guī)則1.單行注釋Python中使用“#”表示單行注釋。單行注釋可以作為單獨(dú)的一行放在被注釋代碼行之上,或者也可以放在語(yǔ)句或表達(dá)式之后?!纠?-1】單行注釋作為單獨(dú)的一行放在被注釋代碼行之上。pi = 3.14r = 2# 使用面積公式求出圓的面積area = pi*r*rprint(area)當(dāng)單行注釋作為單獨(dú)的一行放在被注釋

36、代碼行之上時(shí),為了保證代碼的可讀性,建議在“#”后面添加一個(gè)空格,再添加注釋內(nèi)容。1.4.1 注釋規(guī)則【例1-2】單行注釋放在語(yǔ)句或表達(dá)式之后。length = 3 #矩形的長(zhǎng)width = 5 #矩形的寬area = length*width #求出矩形的面積print(area)當(dāng)單行注釋放在語(yǔ)句或表達(dá)式之后時(shí),同樣為了保證代碼的可讀性,建議注釋和語(yǔ)句(或注釋和表達(dá)式)之間至少要有兩個(gè)空格。1.4.1 注釋規(guī)則2.多行注釋當(dāng)注釋內(nèi)容過(guò)多,導(dǎo)致一行無(wú)法顯示時(shí),就可以使用多行注釋。Python中使用三個(gè)單引號(hào)或三個(gè)雙引號(hào)表示多行注釋。【例1-3】使用三個(gè)單引號(hào)的多行注釋。文件名:area.py

37、用途:用于求解矩形的面積創(chuàng)建日期:2021年7月1日創(chuàng)建人:XMU1.4.1 注釋規(guī)則【例1-4】使用三個(gè)雙引號(hào)的多行注釋。文件名:area.py用途:用于求解矩形的面積創(chuàng)建日期:2021年7月1日創(chuàng)建人:XMU1.4.1 注釋規(guī)則3.中文注釋中文注釋主要是為了解決Python2.x中不支持直接寫中文的問(wèn)題,雖然該問(wèn)題在Python3.x中已經(jīng)不存在,但是,為了方便他人了解代碼文件所使用的編碼,建議在文件開始位置加上中文注釋?!纠?-5】在文件開始位置添加中文注釋。01# -*- coding:utf-8 -*-02length = 3 #矩形的長(zhǎng)03width = 5 #矩形的寬04area

38、 = length*width #求出矩形的面積05print(area)1.4.2 代碼縮進(jìn)Python和其他編程語(yǔ)言(比如C和Java)很不一樣的地方在于,Python采用代碼縮進(jìn)和冒號(hào)來(lái)區(qū)分代碼之間的層次,而Java和C語(yǔ)言則采用大括號(hào)來(lái)分隔代碼塊。如果我們有其他語(yǔ)言(如C或者Java)的編程經(jīng)驗(yàn),那么Python的強(qiáng)制縮進(jìn)一開始會(huì)讓我們很不習(xí)慣。但是,如果習(xí)慣了Python的縮進(jìn)語(yǔ)法,就會(huì)覺得它非常優(yōu)雅??s進(jìn)可以使用空格或者Tab鍵來(lái)實(shí)現(xiàn)(建議使用空格作為縮進(jìn))。當(dāng)使用空格作為縮進(jìn)時(shí),建議使用4個(gè)空格作為一個(gè)縮進(jìn)量。1.4.2 代碼縮進(jìn)【例1-6】Python的縮進(jìn)語(yǔ)法。length

39、= 3 #矩形的長(zhǎng)width = 5 #矩形的寬area = length*width #矩形的面積if area 10: print(大矩形)常用的集成式開發(fā)環(huán)境(比如IDLE、PyCharm、Eclipse等)都具有自動(dòng)縮進(jìn)的機(jī)制,比如輸入“:”號(hào)之后,按“回車”會(huì)自動(dòng)進(jìn)行縮進(jìn)。附錄A:主講教師林子雨簡(jiǎn)介單位:廈門大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系E-mail: ziyulin個(gè)人網(wǎng)頁(yè):/post/linziyu數(shù)據(jù)庫(kù)實(shí)驗(yàn)室網(wǎng)站:主講教師:林子雨林子雨,男,1978年出生,博士(畢業(yè)于北京大學(xué)),全國(guó)高校知名大數(shù)據(jù)教師,現(xiàn)為廈門大學(xué)計(jì)算機(jī)科學(xué)系副教授,廈門大學(xué)信息學(xué)院實(shí)驗(yàn)教學(xué)中心主任,曾任廈門大學(xué)信息

40、科學(xué)與技術(shù)學(xué)院院長(zhǎng)助理、晉江市發(fā)展和改革局副局長(zhǎng)。中國(guó)計(jì)算機(jī)學(xué)會(huì)數(shù)據(jù)庫(kù)專業(yè)委員會(huì)委員,中國(guó)計(jì)算機(jī)學(xué)會(huì)信息系統(tǒng)專業(yè)委員會(huì)委員。國(guó)內(nèi)高校首個(gè)“數(shù)字教師”提出者和建設(shè)者,廈門大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)室負(fù)責(zé)人,廈門大學(xué)云計(jì)算與大數(shù)據(jù)研究中心主要建設(shè)者和骨干成員,2013年度、2017年度和2020年度廈門大學(xué)教學(xué)類獎(jiǎng)教金獲得者,榮獲2019年福建省精品在線開放課程、2018年廈門大學(xué)高等教育成果特等獎(jiǎng)、2018年福建省高等教育教學(xué)成果二等獎(jiǎng)、2018年國(guó)家精品在線開放課程。主要研究方向?yàn)閿?shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)挖掘、大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng),并以第一作者身份在軟件學(xué)報(bào)計(jì)算機(jī)學(xué)報(bào)和計(jì)算機(jī)研究與發(fā)展等國(guó)家重點(diǎn)期刊以及國(guó)

41、際學(xué)術(shù)會(huì)議上發(fā)表多篇學(xué)術(shù)論文。作為項(xiàng)目負(fù)責(zé)人主持的科研項(xiàng)目包括1項(xiàng)國(guó)家自然科學(xué)青年基金項(xiàng)目(No.61303004)、1項(xiàng)福建省自然科學(xué)青年基金項(xiàng)目(No.2013J05099)和1項(xiàng)中央高校基本科研業(yè)務(wù)費(fèi)項(xiàng)目(No.2011121049),主持的教改課題包括1項(xiàng)2016年福建省教改課題和1項(xiàng)2016年教育部產(chǎn)學(xué)協(xié)作育人項(xiàng)目,同時(shí),作為課題負(fù)責(zé)人完成了國(guó)家發(fā)改委城市信息化重大課題、國(guó)家物聯(lián)網(wǎng)重大應(yīng)用示范工程區(qū)域試點(diǎn)泉州市工作方案、2015泉州市互聯(lián)網(wǎng)經(jīng)濟(jì)調(diào)研等課題。中國(guó)高校首個(gè)“數(shù)字教師”提出者和建設(shè)者,2009年至今,“數(shù)字教師”大平臺(tái)累計(jì)向網(wǎng)絡(luò)免費(fèi)發(fā)布超過(guò)1000萬(wàn)字高價(jià)值的研究和教學(xué)資料

42、,累計(jì)網(wǎng)絡(luò)訪問(wèn)量超過(guò)1000萬(wàn)次。打造了中國(guó)高校大數(shù)據(jù)教學(xué)知名品牌,編著出版了中國(guó)高校第一本系統(tǒng)介紹大數(shù)據(jù)知識(shí)的專業(yè)教材大數(shù)據(jù)技術(shù)原理與應(yīng)用,并成為京東、當(dāng)當(dāng)網(wǎng)等網(wǎng)店暢銷書籍;建設(shè)了國(guó)內(nèi)高校首個(gè)大數(shù)據(jù)課程公共服務(wù)平臺(tái),為教師教學(xué)和學(xué)生學(xué)習(xí)大數(shù)據(jù)課程提供全方位、一站式服務(wù),年訪問(wèn)量超過(guò)400萬(wàn)次,累計(jì)訪問(wèn)量超過(guò)1500萬(wàn)次。掃一掃訪問(wèn)個(gè)人主頁(yè)附錄B:大數(shù)據(jù)學(xué)習(xí)路線圖大數(shù)據(jù)學(xué)習(xí)路線圖訪問(wèn)地址:/post/10164/附錄C:林子雨大數(shù)據(jù)系列教材了解全部教材信息:/post/bigdatabook/附錄D:大數(shù)據(jù)導(dǎo)論(通識(shí)課版)教材本課程旨在實(shí)現(xiàn)以下幾個(gè)培養(yǎng)目標(biāo):引導(dǎo)學(xué)生步入大數(shù)據(jù)時(shí)代,積極投身大數(shù)

43、據(jù)的變革浪潮之中了解大數(shù)據(jù)概念,培養(yǎng)大數(shù)據(jù)思維,養(yǎng)成數(shù)據(jù)安全意識(shí)認(rèn)識(shí)大數(shù)據(jù)倫理,努力使自己的行為符合大數(shù)據(jù)倫理規(guī)范要求熟悉大數(shù)據(jù)應(yīng)用,探尋大數(shù)據(jù)與自己專業(yè)的應(yīng)用結(jié)合點(diǎn)激發(fā)學(xué)生基于大數(shù)據(jù)的創(chuàng)新創(chuàng)業(yè)熱情教材官網(wǎng):/post/bigdataintroduction/開設(shè)全校公共選修課的優(yōu)質(zhì)教材高等教育出版社 ISBN:978-7-04-053577-8 定價(jià):32元 版次:2020年2月第1版附錄E:大數(shù)據(jù)導(dǎo)論教材林子雨 編著大數(shù)據(jù)導(dǎo)論人民郵電出版社,2020年9月第1版ISBN:978-7-115-54446-9 定價(jià):49.80元教材官網(wǎng):/post/bigdata-introduction/掃

44、一掃訪問(wèn)教材官網(wǎng)開設(shè)大數(shù)據(jù)專業(yè)導(dǎo)論課的優(yōu)質(zhì)教材附錄F:大數(shù)據(jù)技術(shù)原理與應(yīng)用(第3版)教材歡迎訪問(wèn)大數(shù)據(jù)技術(shù)原理與應(yīng)用概念、存儲(chǔ)、處理、分析與應(yīng)用教材官方網(wǎng)站:/post/bigdata3掃一掃訪問(wèn)教材官網(wǎng)大數(shù)據(jù)技術(shù)原理與應(yīng)用概念、存儲(chǔ)、處理、分析與應(yīng)用(第3版),由廈門大學(xué)計(jì)算機(jī)科學(xué)系林子雨博士編著,是國(guó)內(nèi)高校第一本系統(tǒng)介紹大數(shù)據(jù)知識(shí)的專業(yè)教材。人民郵電出版社 ISBN:978-7-115-54405-6 定價(jià):59.80元全書共有17章,系統(tǒng)地論述了大數(shù)據(jù)的基本概念、大數(shù)據(jù)處理架構(gòu)Hadoop、分布式文件系統(tǒng)HDFS、分布式數(shù)據(jù) 庫(kù)HBase、NoSQL數(shù)據(jù)庫(kù)、云數(shù)據(jù)庫(kù)、分布式并行編程模型MapReduce、Spark、流計(jì)算、Flink、圖計(jì)算、數(shù)據(jù)可視化以及大數(shù)據(jù)在互聯(lián)網(wǎng)、生物醫(yī)學(xué)和物流等各個(gè)領(lǐng)域的應(yīng)用。在Hadoop、HDFS、HBase、MapReduce、Spark和Flink等重要章節(jié),安排了入門級(jí)的實(shí)踐操作,讓讀者更好地學(xué)習(xí)和掌握大數(shù)據(jù)關(guān)鍵技術(shù)。本書可以作為高等院校計(jì)算機(jī)專業(yè)、信息管理等相關(guān)專業(yè)的大數(shù)據(jù)課程教材,也可供相關(guān)技術(shù)人員參考、學(xué)習(xí)、培訓(xùn)之用。附錄G:大數(shù)據(jù)基礎(chǔ)編程、實(shí)驗(yàn)和案例教程(第2版)本書是與大數(shù)據(jù)技術(shù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論