python瞭解

python的發展背景

  Python的做者,Guido von Rossum(吉多·範·羅蘇姆,中國Python程序員都叫他 龜叔),荷蘭人。1982年,龜叔從阿姆斯特丹大學得到了數學和計算機碩士學位。然而,儘管他算得上是一位數學家,但他更加享受計算機帶來的樂趣。用他的話說,雖然擁有數學和計算機雙料資質,他總趨向於作計算機相關的工做,並熱衷於作任何和編程相關的事情。java

  在那個時候,龜叔接觸並使用過諸如彙編語言、C等編程語言。這些語言的基本設計原則都是讓機器能更快運行。在80年代,雖然IBM和蘋果已經掀起了我的電腦浪潮,但這些我的電腦的配置很低,一個大的數組就能佔滿內存。全部的編譯器的核心是作優化,以便讓程序可以運行。python

python發展背景續

  這種編程方式讓龜叔感到苦惱。龜叔知道如何用C語言寫出一個功能,但整個編寫過程須要耗費大量的時間,即便他已經準確的知道了如何實現。他的另外一個選擇是shell。Bourne Shell做爲UNIX系統的解釋器已經長期存在。UNIX的管理員們經常用shell去寫一些簡單的腳本,以進行一些系統維護的工做,好比按期備份、文件系統管理等等。shell能夠像膠水同樣,將UNIX下的許多功能鏈接在一塊兒。許多C語言下上百行的程序,在shell下只用幾行就能夠完成。然而,shell的本質是調用命令。它並非一個真正的語言。好比說,shell沒有數值型的數據類型,加法運算都很複雜。總之,shell不能全面的調動計算機的功能。程序員

  龜叔但願有一種語言,這種語言可以像C語言那樣,可以全面調用計算機的功能接口,又能夠像shell那樣,能夠輕鬆的編程。ABC語言讓龜叔看到但願。ABC是由荷蘭的數學和計算機研究所開發的。龜叔在該研究所工做,並參與到ABC語言的開發。ABC語言以教學爲目的。與當時的大部分語言不一樣,ABC語言的目標是「讓用戶感受更好」。ABC語言但願讓語言變得容易閱讀,容易使用,容易記憶,容易學習,並以此來激發人們學習編程的興趣。redis

python發展背景續

1989年,爲了打發聖誕節假期,龜叔開始寫Python語言的編譯器。Python這個名字,來自龜叔所摯愛的電視劇Monty Python's Flying Circus(巨蟒劇團的飛行的馬戲團)。 他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。龜叔做爲一個語言設計愛好者,已經有過設計語言的嘗試。這一次,也不過是一次純粹的即興行爲。算法

python語言誕生記

  1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了 :類,函數,異常處理,包含表和字典在內的核心數據類型,以及模塊爲基礎的拓展系統。shell

   Python語法不少來自C,但又受到ABC語言的強烈影響。來自ABC語言的一些規定直到今天還富有爭議,好比強制縮進。 但這些語法規定讓Python容易讀。另外一方面,Python聰明的選擇服從一些慣例,特別是C語言的慣例,好比迴歸等號賦值等。龜叔認爲,若是「常識」上確立的東西,沒有必要過分糾結。編程

  Python從一開始就特別在乎可拓展性。Python能夠在多個層次上拓展。從高層上,你能夠直接引入. py文件。在底層,你能夠引用C語言的庫。Python程序員能夠快速的使用Python寫. py文件做爲拓展模塊。但當性能是考慮的重要因素時,Python程序員能夠深刻底層,寫C程序,編譯爲.so文件引入到Python中使用。Python就好像是使用鋼構建房同樣,先規定好大的框架。而程序員能夠在此框架下至關自由的拓展或更改。數組

python誕生記續

  最初的Python徹底由龜叔本人開發。Python獲得龜叔同事的歡迎。他們迅速的反饋使用意見,並參與到Python的改進。龜叔和一些同事構成Python的核心團隊。他們將本身大部分的業餘時間用於改進 Python。隨後,Python拓 展到研究所以外。Python將許多機器層面上的細節隱藏,交給編譯器處理,並凸顯出邏輯層面的編程思考。Python程 序員能夠花更多的時間用於思考程序的邏輯,而不是具體的實現細節。這一特徵吸引了廣大的程序員。Python開始流行。服務器

  計算機硬件愈來愈強大,Python又容易使用,因此許多人開始轉向Python。龜叔維護了一個mail list,Python用戶就經過郵件進行交流。Python用戶來自許多領域,有不一樣的背景,對Python也有不一樣的需求。Python至關的開放又容易拓展,因此當用戶不知足於現有功能,很容易對Python進行拓展或改造。隨後這些用戶將改動發給龜叔,並由龜叔決定是否將新的特徵加入到Python或者標準庫中。若是代碼能被歸入Python自身或者標準庫,這將極大的榮譽。因爲龜叔至高無上的決定權,他所以被稱爲「仁慈的獨裁者」。網絡

  Python以及其標準庫的功能強大。這些是整個社區的貢獻。Python的開發者來自不一樣領域,他們將不一樣領域的優勢帶給Python。好比Python標準庫中的正則表達是參考Perl,而lambda, map, filter, reduce等函數參考了Lisp。Python自己的一些功能以及大部分的標準庫來自於社區。Python的社 區不斷擴大,進而擁有了本身的網站以及基金。從Python 2.0開始,Python也從mail list的開發方式,轉爲徹底開源的開發方式。社區氣氛已經造成,工做被整個社區分擔,於此同時,Python也得到了更加高速的發展。

  到今天,Python的框架已經確立。Python語言以對象爲核心組織代碼,支持多種編程範式,採用動態類型,自動進行內存回收。Python支持解釋運行,並能調用C庫進行拓展。Python有強大的標準庫。因爲標準庫的體系已經穩定,因此Python的生態系統開始拓展到第三方包。這些包,如Django、Flask、numpy、matplotlib、PIL,將Python升級成了物種豐富的‘熱帶雨林’。

  Python崇尚優美、清晰、簡單,是一個優秀並普遍使用的語言。Python在TIOBE(開發語言排行榜)排行榜中排行第4位,它是Google的第三大開發語言,豆瓣的服務器語言。Google、Tencent、Facebook都在內部大量地使用Python。(商業活動的推進)

  在Python的開發過程當中,社區起到了重要的做用。龜叔自認爲本身不是全能型的程序員,因此他只負責制訂框架。若是問題太複雜,他會選擇繞過去,也就是cut the corner。這些問題最終由社區中的其餘人解決。社區中的人才是異常豐富的,就連建立網站,籌集基金這樣與開發稍遠的事情,也有人樂意於處理。現在的項目開發愈來愈複雜,愈來愈龐大,合做以及開放的心態成爲python語言最終成功的關鍵。

python常識

  Python的做者是Guido van Rossum(龜叔) Python正式誕生於1991年 Python的解釋器現在有多個語言實現,咱們經常使用的是CPython(官方版本的C語言實現),其餘還有Jython(能夠運行在Java平臺)等

  Python目前有兩個版本,Python2.x和Python3.x,最新版分別爲2.7.13和3.7.0 Life is shot, you need Python. 人生苦短,我用Python。

python的有點和缺點

  優勢: 規範的代碼,簡單,易學,高層語言,跨平臺(可移植性強),支持面向對象編程,豐富的庫等優勢。 提升開發效率:(假設開發某一功能模塊) C -- 1000行代碼 java -- 100行代碼 python -- 20行代碼

  缺點: Python語言很是完善,沒有明顯的短板和缺點,惟一的缺點就是執行效率慢,這個是解釋型語言所通有的,同時這個缺點也將被計算機愈來愈強大的性能所彌補。

 

  編程語言 主要是隨着計算機軟硬件系統的發展以及互聯網的發展而快速興起並發展壯大的。

互聯網發展:

-- 互聯網時代(網吧,電腦)

-- 移動互聯網時代(智能手機,安卓,iOS)

-- 大數據時代(須要海量的數據資源,推進技術的發展)

-- 人工智能時代(須要經過海量的數據對計算機進行訓練)

python主要就業方向

  1. python Web 開發工程師 Python常常被用於Web開發。好比,經過mod_wsgi模塊,Apache能夠運行用Python編寫的Web程序。Python定義了WSGI標準應用接口來協調Http服務器與基於Python的Web程序之間的通訊。一些Web框架,如Django,Flask,Django REST framework等,可讓程序員輕鬆地開發和管理複雜的Web程序。

  2. python運維工程師(操做系統管理、服務器運維的自動化腳本) 在不少操做系統裏,Python是標準的系統組件。 大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,能夠在終端下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,好比Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操做系統功能的庫。經過pywin32這個第三方軟件 包,Python可以訪問Windows的COM服務及其它Windows API。使用IronPython,Python程序可以直接調用.Net Framework。通常說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。

  3. python網絡爬蟲工程師 Python有大量的HTTP請求處理庫和HTML解析庫,而且有成熟高效的爬蟲框架Scrapy和分佈式解決方案scrapy-redis,在爬蟲的應用方面很是普遍。

  4. 科學計算(算法工程師) NumPy、Pandas、Matplotlib可讓Python程序員編寫科學計算程序。

  5. 桌面軟件 PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。 6. 服務器軟件(網絡軟件) Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡爬蟲。第三方庫Twisted支持異步網絡編程和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。

相關文章
相關標籤/搜索