- Python從入門到精通(第2版)
- 明日科技編著
- 1637字
- 2023-09-26 16:13:45
1.1 Python簡介
1.1.1 什么是Python
Python(發音[?pa?θ?n])本義是指“蟒蛇”(這里需要說明的是,Python并不是以蟒蛇命名,而是以電視節目Monty Python’s Flying Circus來命名的),標志如圖1.1所示。它的設計哲學為優雅、明確、簡單。實際上,Python也是按照這個理念做的,以至于現在網絡上流傳著“人生苦短,我用Python”的說法。可見Python有著簡單、開發速度快、節省時間和精力等特點。
Python本身并非所有的特性和功能都集成到語言核心,而是被設計為可擴充的。它具有豐富和強大的庫,能夠把用其他語言(尤其是C/C++)制作的各種模塊很輕松地聯結在一起。為此,Python常被稱為“膠水”語言。
在1991年Python的第一個公開發行版問世之后,Python的發展并不突出。自從2004年以后,Python的使用率呈線性增長。在2010年時,Python贏得TIOBE 2010年度語言大獎。直到2020年,IEEE Spectrum發布的年度編程語言排行榜中,Python已經連續4年奪冠,如圖1.2所示。

圖1.1 Python標志

圖1.2 2020年度編程語言排行榜前10名
1.1.2 Python的版本
Python自發布以來,主要經歷了3個版本,分別是1994年發布的Python 1.0版本(已過時),2000年發布的Python 2.0版本(已停止更新)和2008年發布的Python 3.0版本(現在已更新到3.9.x)。
說明
Python版本更新較快,幾乎兩個月就升級一次,這也導致很多擴展庫的發行總是滯后于Python的發行版本。因此,在選擇Python時,一定要先考慮清楚自己的學習目的。例如,打算做哪方面的開發,需要用到哪些擴展庫,以及擴展庫支持的最高Python版本等。明確這些問題后,再做出選擇。
1.1.3 Python能做什么
Python是一種功能強大,并且簡單易學的編程語言,因而廣受好評,那么Python能做什么呢?概括起來有以下幾個方面。
1.Web開發
使用Python的一個基本應用就是進行Web開發。在國內,大一些的使用Python做基礎設施的公司有豆瓣、知乎、美團、餓了么,以及搜狐等。在國外,Google在其網絡搜索系統中廣泛應用了Python,并且聘用了Python之父。另外,YouTube視頻分享服務大部分也是用Python編寫的,如圖1.3所示。

圖1.3 Web開發應用Python的公司
2.大數據處理
隨著近幾年大數據的興起,Python也得到了前所未有的爆發。Python借助第三方的大數據處理框架可以很容易地開發出大數據處理平臺。到目前為止,Python是金融分析、量化交易領域里使用最多的語言之一。例如,美國銀行就利用Python語言開發出了新產品和基礎設施接口,用于處理金融數據。
3.人工智能
人工智能(artificial intelligence),英文縮寫為AI。Python之所以這么火,主要是借助于人工智能的發展。Python是一種腳本語言,它更適合做人工智能領域,因為在人工智能領域使用Python比其他編程語言具有更大的優勢。主要的優勢在于,它簡單、快速、可擴展(主要體現在可以應用多個優秀的人工智能框架)等。另外,Python中的機器學習可以實現人工智能領域中的大多數需求。
4.自動化運維開發
掌握一種開發語言已經成為高級運維工程師的必備技能。Python是一種簡單、易學的腳本語言,它能滿足絕大部分自動化運維的需求。對于通常不會開發的運維工程師來說,想學習一種開發語言,Python則是首選。
5.云計算
Python可以廣泛地在科學計算領域發揮獨特的作用。Python通過強大的支持模塊可以在計算大型數據、矢量分析、神經網絡等方面高效率地完成工作,尤其是在教育科研方面,可以發揮出獨特的優勢。從1997年開始,NASA就在大量使用Python進行各種復雜的科學運算。現在終于發明了一套云計算軟件,取名為OpenStack(開放協議棧),并且對外公開發布。
6.網絡爬蟲
網絡爬蟲(也稱為spider)始于也發展于百度、谷歌。但隨著近幾年大數據的興起,爬蟲應用被提升到前所未有的高度。多數分析挖掘公司都以爬蟲的方式得到不同來源的數據集合,最后為其所用,進而構建屬于自己的大數據綜合平臺。在爬蟲領域,Python幾乎是霸主地位,通過它提供的標準支持庫基本上可以做到隨意獲取想要的數據。
7.游戲開發
通過Python完全可以編寫出非常棒的游戲程序,例如,知名的游戲《文明6》就是用Python編寫的。另外,在網絡游戲開發中Python也有很多應用。它作為游戲腳本被內嵌在游戲中,這樣做的好處是既可以利用游戲引擎的高性能,又可以受益于腳本化開發等優點。
說明
Python的應用領域遠比上面提到的多得多。例如,使用Python對圖形/圖像進行處理、編程控制機器人、數據庫編程、編寫可移植的維護操作系統的工具,以及進行自然語言分析等。
- Objective-C Memory Management Essentials
- Learning Cython Programming
- 編程卓越之道(卷3):軟件工程化
- Android NDK Beginner’s Guide
- Full-Stack Vue.js 2 and Laravel 5
- Java程序設計:原理與范例
- VMware虛擬化技術
- Mastering JBoss Enterprise Application Platform 7
- 飛槳PaddlePaddle深度學習實戰
- Swift Playgrounds少兒趣編程
- GameMaker Essentials
- Vue.js應用測試
- Java Web開發實例大全(基礎卷) (軟件工程師開發大系)
- Java Web應用開發給力起飛
- Appcelerator Titanium:Patterns and Best Practices