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