- 零基礎(chǔ)搭建量化投資系統(tǒng):以Python為工具
- 何戰(zhàn)軍 楊茂龍等
- 7字
- 2020-04-03 13:05:31
第1章 準(zhǔn)備工作
1.1 Python簡(jiǎn)介
Python是一種高層次的,結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,其設(shè)計(jì)具有很強(qiáng)的可讀性。它是一種解釋型語(yǔ)言,這意味著開(kāi)發(fā)過(guò)程中沒(méi)有了編譯這個(gè)環(huán)節(jié);它是一種交互式語(yǔ)言,這意味著可以在Python提示符“>>>”處直接輸入程序語(yǔ)句;它是一種面向?qū)ο笳Z(yǔ)言,這意味著它是一種支持把客觀事物封裝成抽象的類的編程技術(shù)。
對(duì)于初級(jí)程序員而言,Python是一種偉大的語(yǔ)言。它支持廣泛的應(yīng)用程序開(kāi)發(fā),從簡(jiǎn)單的文字處理到瀏覽器再到游戲,無(wú)所不能。
由于Python語(yǔ)言具有簡(jiǎn)潔性、易讀性及可擴(kuò)展性,因此在國(guó)外科學(xué)計(jì)算的研究機(jī)構(gòu)中的使用日益增多,一些知名大學(xué)也已經(jīng)采用Python來(lái)教授程序設(shè)計(jì)課程。例如,卡耐基梅隆大學(xué)的編程基礎(chǔ)、麻省理工學(xué)院的計(jì)算機(jī)科學(xué)和編程導(dǎo)論。眾多開(kāi)源的科學(xué)計(jì)算軟件包都提供了Python的調(diào)用接口,如著名的計(jì)算機(jī)視覺(jué)庫(kù)OpenCV、三維可視化庫(kù)VTK、醫(yī)學(xué)圖像處理庫(kù)ITK。而Python專用的科學(xué)計(jì)算擴(kuò)展庫(kù)就更多了,如NumPy, SciPy和Matplotlib三個(gè)經(jīng)典的科學(xué)計(jì)算擴(kuò)展庫(kù),它們分別為Python提供了快速數(shù)組處理、數(shù)值運(yùn)算及繪圖功能。因此,由Python語(yǔ)言及其眾多的擴(kuò)展庫(kù)所構(gòu)成的開(kāi)發(fā)環(huán)境十分適合工程技術(shù)和科研人員處理實(shí)驗(yàn)數(shù)據(jù)、制作圖表,甚至開(kāi)發(fā)科學(xué)計(jì)算應(yīng)用程序。
1.Python的發(fā)展歷史
Python是由吉多·范羅蘇姆(Guido van Rossum)于20世紀(jì)90年代初在荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來(lái)的。Python本身也是由諸多其他語(yǔ)言發(fā)展而來(lái)的,它自研發(fā)之初就遵循GPL(General Public License)協(xié)議(一種開(kāi)源協(xié)議)。這也是其迅速發(fā)展的主要原因之一。目前,Python由一個(gè)核心開(kāi)發(fā)團(tuán)隊(duì)維護(hù),而Guido van Rossum主要指導(dǎo)其進(jìn)展,仍然起著至關(guān)重要的作用。
Python有兩個(gè)最新版本,即Python 2.7.16和Python 3.7.3。Python 2和Python 3是兩個(gè)不同語(yǔ)法的版本,很多舊庫(kù)只支持Python 2,目前仍有小部分人在使用。Python 3具有很多高級(jí)語(yǔ)言的特性,功能更加強(qiáng)大。Python 2對(duì)中文支持不是很好,不支持中文文件名,圖形中也不支持中文顯示。Python 2.7將在2020年停止維護(hù),很多公司已經(jīng)明確不再為Python 2提供后續(xù)版本庫(kù)的支持,因此,本書(shū)主要介紹Python 3.7的開(kāi)發(fā)編程。
Python 2和Python 3語(yǔ)法不同的例子:
Python 2: print 'Hello Word ! '
Python 3: print('Hello Word ! ')
2.Python的特點(diǎn)
(1)易于學(xué)習(xí):從小學(xué)生到80歲的老人,只要認(rèn)識(shí)英文字母,就可以學(xué)習(xí)Python語(yǔ)言。浙江省對(duì)信息技術(shù)課程進(jìn)行了改革,從2018年開(kāi)始將Visual Basic語(yǔ)言更換為Python語(yǔ)言,甚至還將Python語(yǔ)言納入了浙江省信息技術(shù)高考內(nèi)容。
(2)易于閱讀:Python代碼定義得更加清晰,其編寫(xiě)就像讀英語(yǔ)一樣簡(jiǎn)單。
(3)易于維護(hù):Python成功的原因之一在于它的源代碼相當(dāng)容易維護(hù)。
(4)一個(gè)廣泛的標(biāo)準(zhǔn)庫(kù):Python最大的優(yōu)勢(shì)之一是擁有豐富的、跨平臺(tái)的資源庫(kù),并且與UNIX, Windows和Macintosh的兼容性都很好。
(5)互動(dòng)模式:互動(dòng)模式的支持,即通過(guò)Python系統(tǒng)終端輸入代碼,按回車(chē)鍵就能獲得代碼運(yùn)行結(jié)果。
(6)可移植:基于其開(kāi)放源代碼的特性,Python已經(jīng)被移植(也就是使其工作)到許多操作平臺(tái),如Windows, macOS, Linux,甚至是安卓手機(jī)上。
(7)可擴(kuò)展:即可以用C語(yǔ)言或C++語(yǔ)言編寫(xiě)Python的模塊。當(dāng)你需要一段運(yùn)行很快的關(guān)鍵代碼,或者想要編寫(xiě)一些不愿開(kāi)放的算法時(shí),就可以使用C語(yǔ)言或C++語(yǔ)言完成這部分程序,然后從Python程序中調(diào)用。
(8)數(shù)據(jù)庫(kù):Python提供所有主流的商業(yè)數(shù)據(jù)庫(kù)的接口。
(9)圖形用戶界面(Graphical User Interface, GUI)編程:Python支持GUI編程,擁有大量GUI開(kāi)發(fā)框架可供選擇。此外,Tkinter, Ttk, Tix等圖形擴(kuò)展模塊已經(jīng)成為Python系統(tǒng)中的標(biāo)準(zhǔn)庫(kù)。
(10)可嵌入:可以將Python嵌入到C/C++程序中,讓你的程序用戶獲得“腳本化”的能力。
- Mastering Concurrency Programming with Java 8
- 兩周自制腳本語(yǔ)言
- PyTorch自動(dòng)駕駛視覺(jué)感知算法實(shí)戰(zhàn)
- Software Testing using Visual Studio 2012
- INSTANT MinGW Starter
- Flash CS6中文版應(yīng)用教程(第三版)
- SAS數(shù)據(jù)統(tǒng)計(jì)分析與編程實(shí)踐
- Learning AndEngine
- Java設(shè)計(jì)模式及實(shí)踐
- C++新經(jīng)典
- Mastering Android Development with Kotlin
- Python趣味編程與精彩實(shí)例
- Learning iOS Security
- 大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2010)(IC3)
- 實(shí)戰(zhàn)Python網(wǎng)絡(luò)爬蟲(chóng)