- Python程序設(shè)計基礎(chǔ)教程(慕課版)
- 薛景 陳景強(qiáng) 朱旻如 龔樂君
- 1848字
- 2019-10-23 16:57:50
1.2 關(guān)于Python
Python是一種極少數(shù)能兼具簡單與功能強(qiáng)大兩個特點(diǎn)的編程語言。你將驚異地發(fā)現(xiàn)這門編程語言是如此簡單,它專注于如何解決問題,而非拘泥于語法與結(jié)構(gòu)。
Python的官方網(wǎng)站是這樣描述這門語言的。
Python是一款易于學(xué)習(xí)且功能強(qiáng)大的開放源代碼的編程語言。它可以快速幫助人們完成各種編程任務(wù),并且能夠把用其他語言制作的各種模塊很輕松地聯(lián)結(jié)在一起。使用Python編寫的程序可以在絕大多數(shù)平臺上順利運(yùn)行。
1.2.1 Python語言的特點(diǎn)
選擇Python語言作為程序設(shè)計的入門語言,其主要原因是相比于其他計算機(jī)編程語言,它具有以下特點(diǎn)。
(1)簡單(Simple)。Python是一門語法簡單且風(fēng)格簡約的語言。閱讀一份優(yōu)秀的Python代碼就如同在閱讀英語文章一樣,盡管這門英語也會有嚴(yán)格的語法格式!Python這種接近自然語言的書寫特質(zhì)正是它的一大優(yōu)勢,能夠讓你專注于解決問題的方案,而不是語言本身。
(2)易于學(xué)習(xí)(Easy to Learn)。正如你即將看到的,Python是一門非常容易入門的語言,它具有一套簡單的語法體系,這大大降低了學(xué)習(xí)計算機(jī)編程的門檻。
(3)自由且開放(Free and Open Source)。Python是FLOSS(自由/開放源代碼軟件)的成員之一。簡單來說,可以自由地分發(fā)這一軟件的拷貝,閱讀它的源代碼,并對其做出改動,或是將它的一部分運(yùn)用于一款新的自由程序中。FLOSS基于一個可以分享知識的社區(qū)理念而創(chuàng)建。這正是Python能如此優(yōu)秀的一大原因——它由一群希望看到Python能變得更好的社區(qū)成員創(chuàng)造,并持續(xù)改進(jìn)至今。
(4)高級語言(High-level Language)。就像其他的計算機(jī)高級語言一樣,在用Python編寫程序時,你不必考慮諸如程序應(yīng)當(dāng)如何使用CPU或者內(nèi)存等具體實(shí)現(xiàn)細(xì)節(jié)。
(5)跨平臺性(Portable)。由于其開放源碼的特性,Python已經(jīng)被移植到其他諸多軟件操作平臺(如Windows、mac OS、Linux、iOS、Android等)中。如果小心地避開了所有系統(tǒng)依賴型的特性,不必做出任何改動,所有的Python程序就可以在其中任何一個平臺上工作。
(6)解釋執(zhí)行(Interpreted)。使用諸如C或C++等編譯執(zhí)行類語言編寫程序時,需要將這些語言的源代碼通過編譯程序(Compiler)轉(zhuǎn)換成計算機(jī)使用的語言(如由0與1構(gòu)成的二進(jìn)制碼),當(dāng)運(yùn)行這些程序時,鏈接程序或載入程序?qū)挠脖P中將程序復(fù)制到內(nèi)存中并將其運(yùn)行。
然而,作為解釋執(zhí)行類的Python語言,不需要將其編譯成二進(jìn)制碼,只需要直接從源代碼運(yùn)行該程序。在程序內(nèi)部,Python會將源代碼轉(zhuǎn)換為字節(jié)碼(Bytecodes)的中間形式,然后再轉(zhuǎn)換成計算機(jī)使用的語言,并運(yùn)行它。實(shí)際上,這一流程使得Python更加易于使用,你不必再擔(dān)心該如何編譯程序,或如何保證適當(dāng)?shù)膸毂徽_地鏈接并加載等步驟。這種運(yùn)行方式使得Python程序更加易于遷移,只需要將Python程序復(fù)制到另一臺計算機(jī)便可讓它立即開始工作!
(7)面向?qū)ο螅∣bject Oriented)。Python同時支持面向過程編程與面向?qū)ο缶幊獭T?span id="mcnuhxp" class="bold">面向過程(Procedure-oriented)的編程語言中,程序僅僅是由帶有可重用特性的子程序與函數(shù)構(gòu)建起來的。在面向?qū)ο?/span>的編程語言中,程序是由結(jié)合了數(shù)據(jù)與功能的對象構(gòu)建起來的。與C++或Java這些大型的面向?qū)ο笳Z言相比,Python用特別的、功能強(qiáng)大又簡單的方式來實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>
(8)可擴(kuò)展性(Extensible)。如果你需要代碼的某一重要部分能夠快速地運(yùn)行,或希望算法的某些部分不被公開,可以在C或C++語言中編寫這些程序,然后再將其運(yùn)用于Python程序中,Python可以完美地與這些使用其他語言編寫的程序一起工作。 (9)可嵌入性(Embeddable)。可以在C或C++程序中嵌入Python程序,從而向程序用戶提供編寫腳本(Scripting)的功能。 (10)豐富的庫(Extensive Libraries)。實(shí)際上Python標(biāo)準(zhǔn)庫的規(guī)模非常龐大。它能夠幫助用戶完成諸多事情,包括正則表達(dá)式、文檔生成、單元測試、多線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面),以及其他系統(tǒng)依賴型的活動。只需記住,只要安裝了Python,這些功能便隨時可用。 除了標(biāo)準(zhǔn)庫以外,你還可以在Python庫索引(https://pypi.python.org/pypi)中發(fā)掘許多其他高質(zhì)量的庫。 Python實(shí)在是一門令人心生激動且功能強(qiáng)大的語言。它恰當(dāng)?shù)亟Y(jié)合了性能與功能,使得編寫Python程序是如此簡易又充滿了樂趣。 如果你對Python 2與Python 3之間的區(qū)別不感興趣,那么可以略過本小節(jié)。但務(wù)必注意你正在使用的版本,因?yàn)椴煌姹镜腜ython在程序語法上并不兼容,即遵循Python 2語法書寫的源程序也無法順利地在Python 3的運(yùn)行環(huán)境中運(yùn)行,反之亦然。本書是以Python 3為默認(rèn)運(yùn)行環(huán)境撰寫的。 只要正確理解并學(xué)習(xí)了其中一個版本的Python,你就可以很容易地理解與另一版本的區(qū)別,并能快速學(xué)習(xí)如何使用。在學(xué)習(xí)中,真正困難的是學(xué)習(xí)如何編程以及理解Python語言的基礎(chǔ)部分。這便是本書希望討論的關(guān)鍵目標(biāo),而一旦你達(dá)成了該目標(biāo),便可以根據(jù)實(shí)際情況,決定是使用Python 2還是Python 3。 要想了解有關(guān)Python 2和Python 3之間區(qū)別的更多細(xì)節(jié),可自行在網(wǎng)上查詢學(xué)習(xí)。1.2.2 Python 2與Python 3
- Data Visualization with D3 4.x Cookbook(Second Edition)
- Objective-C Memory Management Essentials
- Flink SQL與DataStream入門、進(jìn)階與實(shí)戰(zhàn)
- 華為HMS生態(tài)與應(yīng)用開發(fā)實(shí)戰(zhàn)
- PyTorch自然語言處理入門與實(shí)戰(zhàn)
- 薛定宇教授大講堂(卷Ⅳ):MATLAB最優(yōu)化計算
- Learning Python Design Patterns
- Getting Started with React Native
- Quantum Computing and Blockchain in Business
- Mastering Python Design Patterns
- Hack與HHVM權(quán)威指南
- Python應(yīng)用開發(fā)技術(shù)
- VMware vSphere 5.5 Cookbook
- 高性能MVVM框架的設(shè)計與實(shí)現(xiàn):San
- 計算機(jī)軟件項(xiàng)目實(shí)訓(xùn)指導(dǎo)