值得信赖的彩票平台

Python2 教程


閱讀(5752.1k) 收藏 (348)

多端閱讀:

  • 在PC/MAC上查看 《Python2 教程》:
    下載Python2 教程離線版客戶端,進入客戶端后通過搜索當前教程手冊的名稱并下載,就可以查看當前離線教程文檔。
  • 在手機上查看《Python2 教程》:
  • 在手機APP上查看 《Python2 教程》:

    下載w3cschool手機App端 請從各大安卓應用商店、蘋果App Store搜索并下載w3cschool手機客戶端,在App中搜索當前教程手冊的名稱查看。

    App下載

手冊簡介:

Python 是一種面向對象、解釋型計算機程序設計語言。

手冊說明:

Python是什么?

    Python(英國發音:/?pa?θ?n/ 美國發音:/?pa?θɑ?n/), 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum于1989年發明,第一個公開發行版發行于1991年。

    如果您想要更快、更系統地學會Python,您最好采用邊學邊練(Python微課)的學習模式。

    如果您覺得Python的學習難度較高,不易理解,可以采用更易于理解的視頻教程進行學習:Python視頻課程

    Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議 。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。

Python編碼風格

    Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,并且被大量用戶所歡迎的、用途廣泛的語言。

設計者開發時總的指導思想是,對于一個特定的問題,只要有一種最好的方法來解決就好了。這在由Tim Peters寫的Python格言(稱為The Zen of Python)里面表述為:There should be one-- and preferably only one --obvious way to do it. 這正好和Perl語言(另一種功能類似的高級動態語言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。其中很重要的一項就是Python的縮進規則。

    一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號{}來明確的定出模塊的邊界的,與字符的位置毫無關系)。這一點曾經引起過爭議。因為自從C這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。

設計定位

    Python的設計哲學是“優雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是“用一種方法,最好是只有一種方法來做一件事”。在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由于這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,并且能夠支撐大規模的軟件開發。這些準則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。

    Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合并到Python內。所以很多人認為Python很慢。不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向于使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。

    Python是完全面向對象的語言。函數、模塊、數字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強源代碼的復用性。Python支持重載運算符和動態類型。相對于Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。

    雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,并不能與Python相提并論。

    Python本身被設計為可擴充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調用相應的模塊。《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google 內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用 C++,在快速開發時候使用 Python。”

執行

    Python在執行時,首先會將.py文件中的源代碼編譯成Python的byte code(字節碼),然后再由Python Virtual Machine(Python虛擬機)來執行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。這里的高級并不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。

    基于C的Python編譯出的字節碼文件,通常是.pyc格式。

    除此之外,Python還可以以交互模式運行,比如主流操作系統Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環境。直接下達操作指令即可實現交互操作。

Python優點

    1.簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注于解決問題而不是去搞明白語言本身。

    2.易學:Python極其容易上手,因為Python有極其簡單的說明文檔[5]  。

    3.速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C 寫的,運行速度非常快。

    4.免費、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。

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

    6.可移植性:由于它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux開發的android平臺。

    7.解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。運行程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行 程序。在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。這使得使用Python更加簡單。也使得Python程序更加易于移植。

    8.面向對象:Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。

    9.可擴展性:如果需要一段關鍵代碼運行得更快或者希望某些算法不公開,可以部分程序用C或C++編寫,然后在Python程序中使用它們。

    10.可嵌入性:可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。

    11.豐富的庫:Python標準庫確實很龐大。它可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。

    12.規范的代碼:Python采用強制縮進的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進制代碼。

Python缺點

    1.單行語句和命令行輸出問題:很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序寫入一個.py文件。

    2.獨特的語法:這也許不應該被稱為局限,但是它用縮進來區分語句關系的方式還是給很多初學者帶來了困惑。即便是很有經驗的Python程序員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,而這是用肉眼無法分別的。

    3.運行速度慢:這里是指與C和C++相比。

Python 工具

    1.Tkinter:Python默認的圖形界面接口。Tkinter是一個和Tk接口的Python模塊,Tkinter庫提供了對Tk API的接口,它屬于Tcl/Tk的GUI工具組。

    2.PyGTK:用于python GUI程序開發的GTK+庫。GTK就是用來實現GIMP和Gnome的庫。

    3.PyQt:用于python的Qt開發庫。QT就是實現了KDE環境的那個庫,由一系列的模塊組成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300個類和超過5750個的函數和方法。PyQt還支持一個叫qtext的模塊,它包含一個QScintilla庫。該庫是Scintillar編輯器類的Qt接口。

    4.wxPython:GUI編程框架,熟悉MFC的人會非常喜歡,簡直是同一架構(對于初學者或者對設計要求不高的用戶來說,使用Boa Constructor可以方便迅速的進行wxPython的開發)

    5.PIL:python提供強大的圖形處理的能力,并提供廣泛的圖形文件格式支持,該庫能進行圖形格式的轉換、打印和顯示。還能進行一些圖形效果的處理,如圖形的放大、縮小和旋轉等。是Python用戶進行圖象處理的強有力工具。

    6.Psyco:一個Python代碼加速度器,可使Python代碼的執行速度提高到與編譯語言一樣的水平。

    7.xmpppy:Jabber服務器采用開發的XMPP協議,Google Talk也是采用XMPP協議的IM系統。在Python中有一個xmpppy模塊支持該協議。也就是說,我們可以通過該模塊與Jabber服務器通信,是不是很Cool。

    8.PyMedia:用于多媒體操作的python模塊。它提供了豐富而簡單的接口用于多媒體處理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平臺下使用。

    9.Pmw:Python megawidgets,Python超級GUI組件集,一個在python中利用Tkinter模塊構建的高級GUI組件,每個Pmw都合并了一個或多個Tkinter組件,以實現更有用和更復雜的功能。

    10.PyXML:用Python解析和處理XML文檔的工具包,包中的4DOM是完全相容于W3C DOM規范的。它包含以下內容:

Python 標準庫

    Python擁有一個強大的標準庫。Python語言的核心只包含數字、字符串、列表、字典、文件等常見類型和函數,而由Python標準庫提供了系統管理、網絡通信、文本處理、數據庫接口、圖形系統、XML處理等額外的功能。Python標準庫命名接口清晰、文檔良好,很容易學習和使用。

    Python社區提供了大量的第三方模塊,使用方式與標準庫類似。它們的功能無所不包,覆蓋科學計算、Web開發、數據庫接口、圖形系統多個領域,并且大多成熟而穩定。第三方模塊可以使用Python或者C語言編寫。SWIG,SIP常用于將C語言編寫的程序庫轉化為Python模塊。Boost C++ Libraries包含了一組庫,Boost.Python,使得以 Python 或 C++ 編寫的程序能互相調用。借助于擁有基于標準庫的大量工具、能夠使用低級語言如C和可以作為其他庫接口的C++,Python已成為一種強大的應用于其他語言與工具之間的膠水語言。


Python標準庫的主要功能有:

    1.文本處理,包含文本格式化、正則表達式匹配、文本差異計算與合并、Unicode支持,二進制數據處理等功能

    2.文件處理,包含文件操作、創建臨時文件、文件壓縮與歸檔、操作配置文件等功能

    3.操作系統功能,包含線程與進程支持、IO復用、日期與時間處理、調用系統函數、寫日記(logging)等功能

    4.網絡通信,包含網絡套接字,SSL加密通信、異步網絡通信等功能

    5.網絡協議,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多種網絡協議,并提供了編寫網絡服務器的框架W3C格式支持,包含HTML,SGML,XML的處理。

    6.其它功能,包括國際化支持、數學運算、HASH、Tkinter等

Python 開發環境

  • IDLE:Python內置IDE (隨python安裝包提供)
  • PyCharm  :由著名的JetBrains公司開發,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工 具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業Web開發。
  • Komodo和Komodo Edit:后者是前者的免費精簡版
  • PythonWin:ActivePython或pywin32均提供該IDE,僅適用于Windows
  • SPE(Stani's Python Editor):功能較多的自由軟件,基于wxPython
  • Ulipad:功能較全的自由軟件,基于wxPython;作者是中國Python高手limodou
  • WingIDE:可能是功能最全的IDE,但不是自由軟件(教育用戶和開源用戶可以申請免費key)
  • Eric:基于PyQt的自由軟件,功能強大。全名是:The Eric Python IDE
  • DrPython
  • PyScripter:使用Delphi開發的輕量級的開源Python IDE, 支持Python2.6和3.0。
  • PyPE:一個開源的跨平臺的PythonIDE。
  • bpython: 類Unix操作系統下使用curses庫開發的輕量級的Python解釋器。語法提示功能。
  • eclipse + pydev插件:方便調試程序
  • emacs:自帶python支持,自動補全、refactor等功能需要插件支持
  • Vim: 最新7.3版編譯時可以加入python支持,提供python代碼自動提示支持
  • Visual Studio 2003 + VisualPython:僅適用Windows,已停止維護,功能較差
  • SlickEdit
  • Visual Studio 2010 + Python Tools for Visual Studio
  • TextMate
  • Netbeans IDE
  • Sublime

Python 著名應用

  • Pylons-Web應用框架
  • Zope- 應用服務器
  • Plone- 內容管理系統
  • Django- 鼓勵快速開發的Web應用框架
  • Uliweb- 國人開發的輕量級Web框架
  • TurboGears- 另一個Web應用快速開發框架
  • Twisted--Python的網絡應用程序框架
  • Python Wikipedia Robot Framework- MediaWiki的機器人程序
  • MoinMoinWiki- Python寫成的Wiki程序
  • flask- Python 微Web框架
  • tornado- 非阻塞式服務器
  • Webpy- Python 微Web框架
  • Bottle- Python 微Web框架
  • EVE- 網絡游戲EVE大量使用Python進行開發
  • Reddit - 社交分享網站
  • Dropbox - 文件分享服務
  • Pylons - Web應用框架
  • TurboGears - 另一個Web應用快速開發框架
  • Fabric - 用于管理成百上千臺Linux主機的程序庫
  • Trac - 使用Python編寫的BUG管理系統
  • Mailman - 使用Python編寫的郵件列表軟件
  • Mezzanine - 基于Django編寫的內容管理系統
  • Blender - 以C與Python開發的開源3D繪圖軟件

附加資料

官網:https://www.python.org/

API文檔:https://docs.python.org/3/

下載:https://www.python.org/downloads/

教程:http://www.sdsyxdcdy.com/python/python-tutorial.html



更新記錄:

返回w3cschool官網主頁

在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號

意見反饋
返回頂部
值得信赖的彩票平台

              个旧市| 临沂市| 承德县| 和静县| 札达县| 兰溪市| 策勒县| 木里| 改则县| 古浪县| 乌苏市| 仁布县| 襄樊市| 云梦县| 天峻县| 宁南县| 吉木乃县| 和林格尔县|