1. 程式人生 > >一.python簡介

一.python簡介

存儲網 異步編程 最大的 獲得 tle 終端 lines mac line

一.python簡介

Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。

Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。

  • Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
  • Python 是交互式語言: 這意味著,您可以在一個 Python 提示符 >>> 後直接執行代碼。
  • Python 是面向對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
  • Python 是初學者的語言: Python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到遊戲。

1. Python 特點

  • 1.易於學習: Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
  • 2.易於閱讀: Python代碼定義的更清晰。
  • 3.易於維護: Python的成功在於它的源代碼是相當容易維護的。
  • 4.一個廣泛的標準庫: Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好。
  • 5.互動模式: 互動模式的支持,您可以從終端輸入執行代碼並獲得結果的語言,互動的測試和調試代碼片斷。
  • 6.可移植: 基於其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
  • 7.可擴展: 如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不願開放的算法,你可以使用C或C++完成那部分程序,然後從你的Python程序中調用。
  • 8.數據庫: Python提供所有主要的商業數據庫的接口。
  • 9.GUI編程: Python支持GUI可以創建和移植到許多系統調用。
  • 10.可嵌入: 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。

2. 目前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. 人工智能——誰會成為AI 和大數據時代的第一開發語言?這本已是一個不需要爭論的問題。如果說三年前,Matlab、Scala、R、Java 和 Python還各有機會,局面尚且不清楚,那麽三年之後,趨勢已經非常明確了,特別是前兩天 Facebook 開源了 PyTorch 之後,Python 作為 AI 時代頭牌語言的位置基本確立,未來的懸念僅僅是誰能坐穩第二把交椅。
  6. 自動化運維——問問中國的每個運維人員,運維人員必須會的語言是什麽?10個人相信會給你一個相同的答案,它的名字叫Python
  7. 金融分析——我個人之前在金融行業,10年的時候,我們公司寫的好多分析程序、高頻交易軟件就是用的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 萬行代碼以內。另外據我所知,知名的遊戲<文明> 就是用Python寫的

3. python缺點

  1. 運行速度慢 和C程序相比非常慢,因為Python是解釋型語言,你的代碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程序是運行前直接編譯成CPU能執行的機器碼,所以非常快。
  2. 代碼不能加密 如果要發布你的Python程序,實際上就是發布源代碼,這一點跟C語言不同,C語言不用發布源代碼,只需要把編譯後的機器碼(也就是你在Windows上常見的xxx.exe文件)發布出去。要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發布出去。

4. Python在一些公司的應用

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發
  • CIA: 美國中情局網站就是用Python開發的
  • NASA: 美國航天局(NASA)大量使用Python進行數據分析和運算
  • YouTube:世界上最大的視頻網站YouTube就是用Python開發的
  • Dropbox:美國最大的在線雲存儲網站,全部用Python實現,每天網站處理10億個文件的上傳和下載
  • Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
  • Facebook:大量的基礎庫均通過Python實現的
  • Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
  • 豆瓣: 公司幾乎所有的業務均是通過Python開發的
  • 知乎: 國內最大的問答社區,通過Python開發(國外Quora)
  • 春雨醫生:國內知名的在線醫療網站是用Python開發的
  • 除上面之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿裏、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。

5. 種類

Python有很多種類,本質其實是他有很多的解釋器,這是為什麽呢?
由於python這門編程語言越來越火,各編程語言為了可以支持Python專門給他開發了可以快速支持Python語法的解釋器,如:

  • Cpython(推薦
    Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然後運行在Python虛擬機上。
  • Jyhton
    Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然後在JVM上運行。
  • IronPython
    Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然後在CLR上運行。(與Jython類似)
  • PyPy
    Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
  • RubyPython、Brython 等

6. 版本

目前主流的Python版本有兩大分類:

  • 2.x ,很多公司依然在用 2.7 版本,但Python官方在 2020 年將停止對 Python 2 的支持。
  • 3.x ,功能更加強大且修復了很多2版本中不合適之處(推薦使用)

建議兩個版本全部安裝

7. 編譯型/解釋型

  • 編譯器,是把源程序的每一條語句都編譯成機器語言碼,並保存成二進制文件,這樣運行時計算機可以直接識別並運行(翻譯),例如:C、C++、C#、Java、Go等

  • 解釋器,是只在執行程序時,從上到下把寫過的代碼一行一行的解釋成機器碼並給計算機來執行(實時翻譯),例如:Python、PHP、JavaScript。

    技術分享圖片

9. 常見的操作系統

  • windows
    • xp
    • win7
    • win10
    • window server
  • linux
    • centos,圖形化界面差
    • ubuntu , 個人開發(圖形化比較好)
    • redhat,企業級
  • mac,辦公/裝逼(入職之前看看mac怎麽玩,mac)

    10. 開發環境搭建

    需要安裝python解釋器和集成開發環境(IDE)

    圖文教程

一.python簡介