什麼是Python語言?
Python是一種電腦程式設計語言。你可能已經聽說過很多種流行的程式語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網頁編程的JavaScript語言等等。
那Python是一種什麼語言?
首先,我們普及一下程式語言的基礎知識。用任何程式語言來開發程序,都是為了讓計算機幹活,比如下載一個MP3,編寫一個文檔等等,而計算機幹活的CPU只認識機器指令,所以,儘管不同的程式語言差異極大,最後都得「翻譯」成CPU可以執行的機器指令。而不同的程式語言,幹同一個活,編寫的代碼量,差距也很大。
比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。
所以Python是一種相當高級的語言。
你也許會問,代碼少還不好?代碼少的代價是運行速度慢,C程序運行1秒鐘,Java程序可能需要2秒,而Python程序可能就需要10秒。
那是不是越低級的程序越難學,越高級的程序越簡單?表面上來說,是的,但是,在非常高的抽象計算中,高級的Python程序設計也是非常難學的,所以,高級程序語言不等於簡單。
但是,對於初學者和完成普通任務,Python語言是非常簡單易用的。連Google都在大規模使用Python,你就不用擔心學了會沒用。
用Python可以做什麼?
籠統來講,Python可以做日常任務,比如自動備份你的MP3;可以做網站,很多著名的網站包括YouTube就是Python寫的;可以做網路遊戲的後臺,很多在線遊戲的後臺都是Python開發的。總之就是能幹很多很多事啦。
Python當然也有不能幹的事情,比如寫作業系統,這個只能用C語言寫;寫手機應用,只能用Swift/Objective-C(針對iPhone)和Java(針對Android);寫3D遊戲,最好用C或C++。
具體來講,Python語言有以下十大用途
1. Web開發
最火的Python web框架Django,支持異步高並發的Tornado框架,短小精悍的flask,bottle,Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)
2. 網絡編程
支持高並發的Twisted網絡框架,py3引入的asyncio使異步編程變的非常簡單
3. 爬蟲開發
爬蟲領域,Python幾乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 雲計算開發
目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算市場近幾年的爆發
5. 人工智慧
MASA和Google早期大量使用Python,為什麼Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多程式語言中脫穎而出,各種人工智慧算法都基於Python編寫,由其PyTorch之後,Python作為AI時代頭牌語言的位置基本確立!
6. 自動化運維
問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人詳細會給你一個相同的答案,它的名字叫Python。
7. 金融分析
金融公司使用的很多分析程序、高頻交易軟體就是用的Python,目前,Python是金融分析、量化交易領域裡用的最多的語言
8. 科學運算
97年開始,NASA就在大量使用Python在進行各種複雜的科學運算,隨著NumPy,SciPy,Matplotlib,Enthought librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪製高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用範圍更廣泛。
9. 遊戲開發
在網路遊戲開發中Python也有很多應用。相比Lua or C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述遊戲業務邏輯,與Lua相比,Python更適合作為一種Host語言,即程序的入口點是在Python那一端會比較好,然後用C/C++在非常必要的時候寫一些擴展。Python非常適合編寫1萬行以上的項目,而且能夠很好的把網遊項目的規模控制在10萬行代碼以內。
10. 桌面軟體
雖然大家很少使用桌面軟體了,但是Python在圖形界面開發上也很強大,你可以用tkinter/PyQT框架開發各種桌面軟體!
關於Python程式語言的一些常見問題就給大家介紹到這裡,如果對您有所幫助,歡迎關注筆者,期待與您共同學習與進步~!