百度百科中對Python的解釋是這樣的:
“Python, 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。
Python是純粹的自由軟件,源代碼和解釋器CPython遵循GPL(GNU General Public License)協(xié)議。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。Python具有豐富和強大的庫,常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分用更合適的語言改寫,例如,3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是,在使用擴展類庫的時候,可能需要考慮平臺問題,因為某些擴展類庫可能不提供跨平臺的實現(xiàn)。
2017年7月20日,IEEE發(fā)布編程語言排行榜:Python高居首位!
在許多歐美國家,Python已經(jīng)成為各大學的基本教學語言。另外,隨著大數(shù)據(jù)與人工智能(AI)技術的興起,Python語言在這方面也表現(xiàn)得非常出色。
Python有以下幾個Web開發(fā)框架,分別是Flask、Django、Tornado、Bottle、web.py、web2py及Quixote。就作者而言,最喜歡的是Django這個框架,雖然掌握這個框架需要學習很多知識,但是Django 的目的是讓開發(fā)者能夠快速地開發(fā)一個網(wǎng)站,它提供了很多模塊,如admin。
作者認為剛開始學習Django框架,只需要掌握一些最基本的知識,不需要一開始就學習全部知識,只要掌握了這些基本知識,再根據(jù)自己的需求學習其他高深的知識,就會變得更加容易了,這正是書寫本書的目的:讓讀者在最短的時間內盡快掌握Django框架。建議: 如果沒有接觸過Django框架,甚至沒有接觸過Web開發(fā),就可以首選本書。
本書第1章主要介紹Python、Django發(fā)展歷史和安裝方法,以及HTTP的基礎知識,但是作者在這里沒有對Python語言進行介紹,如果讀者沒有Python語言的任何基礎,建議通過其他渠道學習掌握Python語言后再來學習此書。
第2章介紹Django基本知識。這里對Django的基本知識介紹得比較全面, 讀者可能看不懂2.7~2.9節(jié)介紹的知識,只要了解一些概念就可以了,經(jīng)常使用到的知識會在第3章中結合案例進行詳細介紹。
第3章結合電子商務網(wǎng)站項目,通過用戶信息、商品信息、購物車、送貨地址、訂單和電子支付這6個模塊進行詳細介紹。對于其中的每個子模塊,通過如何設計url.py、如何開發(fā)view.py、模板的設計、接口測試用例的設計以及接口測試代碼的書寫進行介紹。這里特別需要指出的是,隨著軟件質量在軟件研發(fā)中的地位越來越高,并且隨著迭代快速響應用戶需求的普及,自動化測試顯得越來越重要。但是,單元測試代碼的繁多以及基于GUI的自動化測試受界面影響很大的原因,這些測試都沒能很好地普及,而基于單元測試與基于GUI的自動化測試之間的接口測試在業(yè)界卻越來越普及。又由于Python提供的requests類能夠更好地配合接口測試的開發(fā),所以在本書中對接口測試的技術和實現(xiàn)方法進行了詳細描述。作者也是一邊書寫本書一邊書寫電子商務網(wǎng)站和接口測試代碼,每次程序結構發(fā)生變化,都會運行一下以前寫好的接口測試代碼,以保證新的修改沒有影響以前的功能。另外,接口測試的運行速度遠遠快于基于GUI的自動化測試。本章包含的接口測試用例共49條,全部運行,耗時僅為2.709499s。
第4章在第3章的基礎上介紹如何構建一個安全的網(wǎng)站,分別是密碼的加密、防止CSRF和XSS的攻擊、權限操作的漏洞以及防止SQL注入。由于第3章對程序進行了很好的封裝,所以在這里對產品和測試代碼的修改變得更加簡單了。正如在本書中所寫的那樣,我們不可能一開始就能書寫一個易于維護的好代碼,這需要在書寫代碼的過程中不斷地優(yōu)化,F(xiàn)在敏捷技術提倡研發(fā)過程的迭代優(yōu)化,同樣,在書寫代碼時也需要進行迭代優(yōu)化。
顧翔2023年2月于上海