02-python你應該知道這這些

《python小白入門系列教程》 專欄  • 第02篇php

文 | 曾慶林python

1. Python的出生

 

1989年  Guido van Rossum開始編寫Python語言編輯器(龜叔爲了打發無聊的聖誕節)程序員

1991年  第一個Python編譯器誕生(正式誕生)web

1994年  Python1.0  增長內置函數正則表達式

2004年  Python204  web框架、Django算法

2008年  Python2.6 Python3.0(同一年出2個版本)shell

Python2 :源碼不標準、混亂、重複代碼太多吧數據庫

Python3 :標準、統1、去重編程

 

 

 

 

2. Python優缺點

 

Python語言特色:優美、簡單、清晰。瀏覽器

編譯型 解釋型
一次性將全部程序編譯成二進制文件 當程序執行時,一行一行的解釋
開發效率低,不能跨平臺 開發效率高,能夠跨平臺
運行速度快 運行速度慢
C,C++等等 python ,php等等

 

 

優勢

 

簡單————Python是一種表明簡單主義思想的語言。Python的這種僞代碼本質是它最大的優勢之一。它使你可以專一於解決問題而不是去搞明白語言自己。

 

 

易學————就如同你即將看到的同樣,Python極其容易上手,Python有極其簡單的語法。

 

 

免費、開源————Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你能夠自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它作改動、把它的一部分用於新的自由軟件中。   

 

 

高層語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

 

 

可移植性————因爲它的開源本質,Python已經被移植在許多平臺上(通過改動使它可以工做在不一樣平臺上)。

 

 

解釋型————一個用編譯性語言好比C或C++寫的程序能夠從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。

 

 

這個過程經過編譯器和不一樣的標記、選項完成。當你運行你的程序的時候,鏈接/轉載器軟件把你的程序從硬盤複製到內存中而且運行。而Python語言寫的程序不須要編譯成二進制代碼。你能夠直接從源代碼運行程序。

 

 

 

 

在計算機內部,Python解釋器把源代碼轉換成稱爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言並運行。事實上,因爲你再也不須要擔憂如何編譯程序,如何確保鏈接轉載正確的庫等等,全部這一切使得使用Python更加簡單。因爲你只須要把你的Python程序拷貝到另一臺計算機上,它就能夠工做了,這也使得你的Python程序更加易於移植。

 

 

面向對象————Python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。與其餘主要的語言如C++和Java相比,Python以一種很是強大又簡單的方式實現面向對象編程

 

 

可擴展性————若是你須要你的一段關鍵代碼運行得更快或者但願某些算法不公開,你能夠把你的部分程序用C或C++編寫,而後在你的Python程序中使用它們。

 

豐富的庫————Python標準庫確實很龐大。它能夠幫助你處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其餘與系統有關的操做。記住,只要安裝了Python,全部這些功能都是可用的。這被稱做Python的「功能齊全」理念。除了標準庫之外,還有許多其餘高質量的庫,如wxPython、Twisted和Python圖像庫等等。

 

規範的代碼————Python採用強制縮進的方式使得代碼具備極佳的可讀性。

 

 

 

缺點

 

運行速度,有速度要求的話,最好用C++改寫關鍵部分。

 

代碼不能加密。

 

國內市場較小(國內以python來作主要開發的,目前只有一些web2.0公司)。但時間推移,目前不少國內軟件公司,尤爲是遊戲公司,也開始規模使用。

 

 

中文資料匱乏(好的python中文資料屈指可數),託社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容仍是隻能看英語版。

 

 

構架選擇太多(沒有像C#這樣的官方.net構架,也沒有像ruby因爲歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另外一個側面說明,python比較優秀,吸引的人才多,項目也多。

 

 

 

3.Python的應用

 

(1)系統編程

  提供API(ApplicationProgrammingInterface應用程序編程接口),能方便進行系統維護和管理,Linux下標誌性語言之一,是不少系統管理員理想的編程工具。

 

(2)圖形處理

  有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。

 

(3)數學處理

  NumPy擴展提供大量與許多標準數學庫的接口。

 

(4)文本處理

  python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發。

 

(5)數據庫編程

  程序員可經過遵循PythonDB-API(數據庫應用程序編程接口)規範的模塊與MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等數據庫通訊。python自帶有一個Gadfly模塊,提供了一個完整的SQL環境。

 

(6)網絡編程

  提供豐富的模塊支持sockets編程,能方便快速地開發分佈式應用程序。不少大規模軟件開發計劃例如Zope,Mnet及BitTorrent.Google都在普遍地使用它。

 

(7)Web編程

  應用的開發語言,支持最新的XML技術。

 

(8)多媒體應用  

  Python的PyOpenGL模塊封裝了「OpenGL應用程序編程接口」,能進行二維和三維圖像處理。PyGame模塊可用於編寫遊戲軟件。

 

(9)pymo引擎

  PYMO全稱爲pythonmemoriesoff,是一款運行於SymbianS60V3,Symbian3,S60V5,Symbian3,Android系統上的AVG遊戲引擎。因其基於python2.0平臺開發,而且適用於建立秋之回憶(memoriesoff)風格的AVG遊戲,故命名爲PYMO。

 

(10)***編程

  python有一個hack的庫,內置了你熟悉的或不熟悉的函數,可是缺乏成就感。

 

 

 

 

4. 應用場景

 

(1)Web應用開發

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

 

 

 

 

(2)操做系統管理、服務器運維的自動化腳本

  在不少操做系統裏,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)科學計算

  NumPy,SciPy,Matplotlib可讓Python程序員編寫科學計算程序。

 

(4)桌面軟件

  PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。

 

(5)服務器軟件(網絡軟件)

  Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡爬蟲。第三方庫Twisted支持異步網絡編程和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。

 

(6)遊戲

  不少遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、服務器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。

 

(7)構思實現,產品早期原型和迭代

  YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。

 

 

 

 5. 應用方向

 

(1)常規軟件開發

  Python支持函數式編程和OOP面向對象編程,可以承擔任何種類軟件的開發工做,所以常規的軟件開發、腳本編寫、網絡編程等都屬於標配能力。

 

(2)科學計算

  隨着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等衆多程序庫的開發,Python愈來愈適合於作科學計算、繪製高質量的2D和3D圖像。

 

和科學計算領域最流行的商業軟件Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用範圍更普遍,有更多的程序庫的支持。雖然Matlab中的許多高級功能和toolbox目前仍是沒法替代的,不過在平常的科研開發之中仍然有不少的工做是能夠用Python代勞的。

 

(3)自動化運維

  這幾乎是Python應用的自留地,做爲運維工程師首選的編程語言,Python在自動化運維方面已經深刻人心,好比Saltstack和Ansible都是大名鼎鼎的自動化平臺。

 

 

 

(4)雲計算

  開源雲計算解決方案OpenStack就是基於Python開發的,搞雲計算的同窗都懂的。

 

(5)WEB開發

  基於Python的Web開發框架不要太多,好比耳熟能詳的Django,還有Tornado,Flask。其中的Python+Django架構,應用範圍很是廣,開發速度很是快,學習門檻也很低,可以幫助你快速的搭建起可用的WEB服務。

 

(6)網絡爬蟲

  也稱網絡蜘蛛,是大數據行業獲取數據的核心工具。沒有網絡爬蟲自動地、不分晝夜地、高智能地在互聯網上爬取免費的數據,那些大數據相關的公司恐怕要少四分之三。可以編寫網絡爬蟲的編程語言有很多,但Python絕對是其中的主流之一,其Scripy爬蟲框架應用很是普遍。

 

(7)數據分析

  在大量數據的基礎上,結合科學計算、機器學習等技術,對數據進行清洗、去重、規格化和針對性的分析是大數據行業的基石。Python是數據分析的主流語言之一。

 

(8)人工智能

  Python在人工智能大範疇領域內的機器學習、神經網絡、深度學習等方面都是主流的編程語言,獲得普遍的支持和應用。

 

6. 常識

 

Python的做者,Guido von Rossum,荷蘭人。

 

Python的發音與拼寫

Python的意思是蟒蛇,源於做者喜歡的一部電視劇 (C呢?)

Python的做者是Guido van Rossum(龜叔

Python是龜叔在1989年聖誕節期間,爲了打發無聊的聖誕節而用C編寫的一個編程語言

Python正式誕生於1991年

Python的解釋器現在有多個語言實現,咱們經常使用的是CPython(官方版本的C語言實現),其餘還有Jython(能夠運行在Java平臺)、IronPython(能夠運行在.NET和Mono平臺)、PyPy(Python實現的,支持JIT即時編譯)

Python目前有兩個版本,Python2和Python3

Life is shot, you need Python. 人生苦短,我用Python。

 

 

 

手機練習地址:

https://www.520mg.com/it

 

 

IT 入門感謝關注
相關文章
相關標籤/搜索