2019年Python Web五大主流框架
我們都知道風靡一時的Python語言作為人工智能戰場上主要使用的槍外,還被廣泛應用在Web開發、游戲開發、人工智能、云計算開發、大數據開發、數據分析、科學運算、爬蟲、自動化運維、自動化測試等領域,其實Python在各領域的應用最方便的就是使用框架,可以讓程序員以更少的代碼實現自定義功能,還可以將更多的精力集中在業務邏輯上,更加的輕松便利!那么2019年Python web五大主流框架,你知道嗎?
序言:
現在很多學習Python的人員更多的是趨向于爬蟲、人工智能、數據分析等,Python web開發確實這些方向工作崗位最多的一個!曾經有一位老前輩和說到“Python web開發堪稱全能”。
他說:
如果你會Python web開發,那么
你在制造行業,就是做ERP系統開發;
你在電商行業,就是做電商平臺;
你在游戲行業,就是做游戲后臺開發;
你在金融行業,就是做量化交易;
你在.......行業,就是做.................................
既然Python web這么厲害,那么我們了解2018Python主流的五大框架也就顯得很有必要了:
1.Django
Django是一個開源的Web應用框架,由Python寫成,支持許多數據庫引擎,可以讓Web開發變得迅速和可擴展,并會不斷的版本更新以匹配Python***版本,如果是新手程序員,可以從這個框架入手。
2.Flask
Flask是一個輕量級的Web應用框架, 使用Python編寫。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授權。
Flask也被稱為 “microframework” ,因為它使用簡單的核心,用 extension 增加其他功能。Flask沒有默認使用的數據庫、窗體驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功 能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。
3.Web2py

Web2py是一個用Python語言編寫的免費的開源Web框架,旨在敏捷快速的開發Web應用,具有快速、可擴展、安全以及可移植的數據庫驅動的應用,遵循LGPLv3開源協議。
Web2py提供一站式的解決方案,整個開發過程都可以在瀏覽器上進行,提供了Web版的在線開發,HTML模版編寫,靜態文件的上傳,數據庫的編寫的功能。其它的還有日志功能,以及一個自動化的admin接口。
4.Tornado
Tornado即是一個Web server(對此本文不作詳述),同時又是一個類web.py的micro-framework,作為框架Tornado的思想主要來源于Web.py,大家在Web.py的網站首頁也可以看到Tornado的大佬Bret Taylor的這么一段話(他這里說的FriendFeed用的框架跟Tornado可以看作是一個東西):
“[web.py inspired the] Web framework we use at FriendFeed [and] the webapp framework that ships with App Engine…”
因為有這層關系,后面不再單獨討論Tornado。
5.CherryPy

CherryPy是一種用于Python的、簡單而非常有用的Web框架,其主要作用是以盡可能少的操作將Web服務器與Python代碼連接,其功能包括內置的分析功能、靈活的插件系統以及一次運行多個HTTP服務器的功能,可與運行在***版本的Python、Jython、Android上。

***關于框架選擇的誤區
在框架的選擇問題上,許多人很容易就陷入了下面兩個誤區中而不自知:哪個框架***——世上沒有***的框架,只有最適合你自己、最適合你的團隊的框架。編程語言選擇也是一個道理,你的團隊Python最熟就用Python好了,如果最熟悉的是Ruby那就用Ruby好了,編程語言、框架都只是工具,能多、快、好、省的干完活就是好東西。
過分關注性能——其實大部分人是沒必要太關心框架的性能的,因為你開發的網站根本就是個小站,能上1萬的IP的網站已經不多了,上10萬的更是很少很少。在沒有一定的訪問量前談性能其實是沒有多大意義的,因為你的CPU和內存一直就閑著呢。