成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[零基礎(chǔ)學(xué)python]python開發(fā)框架

lucas / 1948人閱讀

摘要:軟件開發(fā)者通常依據(jù)特定的框架實(shí)現(xiàn)更為復(fù)雜的商業(yè)運(yùn)用和業(yè)務(wù)邏輯。所有,做開發(fā),要用一個(gè)框架。的性能是相當(dāng)優(yōu)異的,因?yàn)樗鼛熗浇鉀Q一個(gè)被稱之為問(wèn)題,就是處理大于或等于一萬(wàn)的并發(fā)。

  

"One does not live by bread alone,but by every word that comes from the mouth of God"
--(MATTHEW4:4)

不管是python,還是php,亦或別的做web項(xiàng)目的語(yǔ)言,乃至于做其它非web項(xiàng)目的開發(fā),一般都要用到一個(gè)稱之為什么什么框架的東西。

框架的基本概念

開發(fā)這對(duì)框架的認(rèn)識(shí),由于工作習(xí)慣和工作內(nèi)容的不同,有很大差異,這里姑且截取維基百科中的一種定義,之所以要給出一個(gè)定義,無(wú)非是讓看官有所了解,但是是否知道這個(gè)定義,絲毫不影響后面的工作。

  

軟件框架(Software framework),通常指的是為了實(shí)現(xiàn)某個(gè)業(yè)界標(biāo)準(zhǔn)或完成特定基本任務(wù)的軟件組件規(guī)范,也指為了實(shí)現(xiàn)某個(gè)軟件組件規(guī)范時(shí),提供規(guī)范所要求之基礎(chǔ)功能的軟件產(chǎn)品。

  

框架的功能類似于基礎(chǔ)設(shè)施,與具體的軟件應(yīng)用無(wú)關(guān),但是提供并實(shí)現(xiàn)最為基礎(chǔ)的軟件架構(gòu)和體系。軟件開發(fā)者通常依據(jù)特定的框架實(shí)現(xiàn)更為復(fù)雜的商業(yè)運(yùn)用和業(yè)務(wù)邏輯。這樣的軟件應(yīng)用可以在支持同一種框架的軟件系統(tǒng)中運(yùn)行。

  

簡(jiǎn)而言之,框架就是制定一套規(guī)范或者規(guī)則(思想),大家(程序員)在該規(guī)范或者規(guī)則(思想)下工作?;蛘哒f(shuō)就是使用別人搭好的舞臺(tái),你來(lái)做表演。

我比較喜歡最后一句的解釋,別人搭好舞臺(tái),我來(lái)表演。這也就是說(shuō),如果我在做web項(xiàng)目的時(shí)候,能夠省卻很多開發(fā)工作。的確是。所有,做web開發(fā),要用一個(gè)框架。

有高手工程師鄙視框架,認(rèn)為自己編寫的才是王道。這方面不爭(zhēng)論,框架是開發(fā)中很流行的東西,我還是固執(zhí)地認(rèn)為用框架來(lái)開發(fā),更劃算。

python框架

有人說(shuō)php(什么是php,嚴(yán)肅的說(shuō)法,這是另外一種語(yǔ)言,更高雅的說(shuō)法,是某個(gè)活動(dòng)的漢語(yǔ)拼音簡(jiǎn)稱)框架多,我不否認(rèn),php的開發(fā)框架的確很多很多。不過(guò),python的web開發(fā)框架,也足夠使用了,列舉幾種常見的web框架:

Django:這是一個(gè)被廣泛應(yīng)用的框架,如果看官在網(wǎng)上搜索,會(huì)發(fā)現(xiàn)很多公司在招聘的時(shí)候就說(shuō)要會(huì)這個(gè),其實(shí)這種招聘就暴露了該公司的開發(fā)水平要求不高??蚣苤皇禽o助,真正的程序員,用什么框架,都應(yīng)該是根據(jù)需要而來(lái)。當(dāng)然不同框架有不同的特點(diǎn),需要學(xué)習(xí)一段時(shí)間。

Flask:一個(gè)用Python編寫的輕量級(jí)Web應(yīng)用框架?;赪erkzeug WSGI工具箱和Jinja2模板引擎。

Web2py:是一個(gè)為Python語(yǔ)言提供的全功能Web應(yīng)用框架,旨在敏捷快速的開發(fā)Web應(yīng)用,具有快速、安全以及可移植的數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用,兼容Google App Engine(這是google的元計(jì)算引擎,后面我會(huì)多帶帶介紹)。

Bottle: 微型Python Web框架,遵循WSGI,說(shuō)微型,是因?yàn)樗挥幸粋€(gè)文件,除Python標(biāo)準(zhǔn)庫(kù)外,它不依賴于任何第三方模塊。

Tornado:全稱是Torado Web Server,從名字上看就可知道它可以用作Web服務(wù)器,但同時(shí)它也是一個(gè)Python Web的開發(fā)框架。最初是在FriendFeed公司的網(wǎng)站上使用,F(xiàn)aceBook收購(gòu)了之后便開源了出來(lái)。

webpy: 輕量級(jí)的Python Web框架。webpy的設(shè)計(jì)理念力求精簡(jiǎn)(Keep it simple and powerful),源碼很簡(jiǎn)短,只提供一個(gè)框架所必須的東西,不依賴大量的第三方模塊,它沒有URL路由、沒有模板也沒有數(shù)據(jù)庫(kù)的訪問(wèn)。

說(shuō)明:以上信息選自:http://blog.jobbole.com/72306/,這篇文章中還有別的框架,由于不是web框架,我沒有選摘,有興趣的去閱讀。

Tornado

一看到這個(gè)標(biāo)題就知道,本教程中將選擇使用這個(gè)框架。此前有朋友建議我用Django,首先它是一個(gè)好東西。但是,我更愿意用Tornado,為什么呢?因?yàn)?.....,看下邊或許是理由,也或許不是。

Tornado全稱Tornado Web Server,是一個(gè)用Python語(yǔ)言寫成的Web服務(wù)器兼Web應(yīng)用框架,由FriendFeed公司在自己的網(wǎng)站FriendFeed中使用,被Facebook收購(gòu)以后框架以開源軟件形式開放給大眾??磥?lái)Tornado的出身高貴呀,對(duì)了,如果是在天朝的看官,可能對(duì)Facebook有風(fēng)聞,但是要一睹其芳容,還要努力。或者有人是不是懷疑這個(gè)地球上就沒有這個(gè)網(wǎng)站呢?哈哈。按照某個(gè)地方的網(wǎng)絡(luò),它是存在的。廢話不說(shuō),還是看Tornado的性能,因?yàn)檫x框架,一定要選好性能的,沒準(zhǔn)兒什么時(shí)候你也開發(fā)高大上的東西了。

Tornado的性能是相當(dāng)優(yōu)異的,因?yàn)樗鼛熗浇鉀Q一個(gè)被稱之為“C10k”問(wèn)題,就是處理大于或等于一萬(wàn)的并發(fā)。一萬(wàn)呀,這可是不小的量。(關(guān)于C10K問(wèn)題,看官可以瀏覽:C10k problem)

下表是和一些其他Web框架與服務(wù)器的對(duì)比,供看官參考(數(shù)據(jù)來(lái)源:https://developers.facebook.com/blog/post/301)

條件:處理器為 AMD Opteron, 主頻2.4GHz, 4核

服務(wù) 部署 請(qǐng)求/每秒
Tornado nginx, 4進(jìn)程 8213
Tornado 1個(gè)單線程進(jìn)程 3353
Django Apache/mod_wsgi 2223
web.py Apache/mod_wsgi 2066
CherryPy 獨(dú)立 785

看了這個(gè)對(duì)比表格,還有什么理由不選擇Tornado呢?

就是它了——Tornado

安裝Tornado

Tornado的官方網(wǎng)站:http://www.tornadoweb.org

在官網(wǎng)上,有安裝方法,其實(shí),看官也可以直接在官方上學(xué)習(xí)。另外,有一個(gè)中文鏡像網(wǎng)站,看官也可以訪問(wèn):http://www.tornadoweb.cn/

我在自己電腦中(ubuntu12.04),用下面方法安裝,只需要一句話即可:

pip install tornado

這是因?yàn)門ornado已經(jīng)列入PyPI,因此可以通過(guò) pip 或者 easy_install 來(lái)安裝。

如果你沒有安裝 libcurl 的話,你需要將其多帶帶安裝到系統(tǒng)中。請(qǐng)參見下面的安裝依賴一節(jié)。

如果不用這種方式安裝,下面的頁(yè)面中有可以供看官下載的最新源碼版本和安裝方式:

https://pypi.python.org/pypi/tornado/

此外,在github上也有托管,看官可以通過(guò)上述頁(yè)面進(jìn)入到github看源碼。

最后要補(bǔ)充一個(gè)要點(diǎn),就是上述下載的Tornado無(wú)法直接安裝在windows上,如果要在windows上安裝,建議使用pypm(這是一個(gè)什么東西,關(guān)于這個(gè)東西,可以訪問(wèn)官方文檔:http://docs.activestate.com/activepython/2.6/pypm.html,說(shuō)實(shí)話,我也沒有用過(guò)它,只是看了看文檔罷了??垂偃绻惺褂玫?,可以寫一個(gè)教程共享之。),如下安裝:

C:> pypm install tornado

首頁(yè)|上一講:用python操作數(shù)據(jù)庫(kù) 3

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37427.html

相關(guān)文章

  • 基礎(chǔ)如何學(xué)爬蟲技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來(lái)源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來(lái)源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • 30歲基礎(chǔ)學(xué)編程,先學(xué)哪種語(yǔ)言最好?

    摘要:大學(xué),光學(xué)工程研究生畢業(yè),和程序猿完全不搭邊。那怎么辦,試著學(xué)一學(xué)唄,學(xué)習(xí)才是程序猿的天性。所以我在想程序猿是不是都需要新知識(shí)刺激一下,才能保持興奮的頭腦。有句話說(shuō)的很對(duì)程序猿就像好奇的貓,追著毛球的線頭玩,最后一個(gè)毛球在腦袋里攪漿糊。 說(shuō)說(shuō)我自己的經(jīng)歷。211大學(xué),光學(xué)工程研究生畢業(yè),和程序猿完全不搭邊。 畢業(yè)后進(jìn)了成都某國(guó)字頭研究所,在行業(yè)里摸爬滾打了四年,2018年機(jī)緣巧合在家養(yǎng)...

    xietao3 評(píng)論0 收藏0
  • [基礎(chǔ)學(xué)python]Tornado靜態(tài)路徑以及一個(gè)項(xiàng)目框架

    摘要:下面的例子就是一個(gè)項(xiàng)目的基本框架。一檢查,發(fā)現(xiàn)一個(gè)重要的目錄里面還空著呢,那里面放文件,這個(gè)文件里面是請(qǐng)求響應(yīng)的類這個(gè)文件的代碼沒有什么增加的內(nèi)容,只是多了三行設(shè)置為的配置,目的是避免漢字亂碼。 just as the Son of Man came not to be served but to serve, and to give his life a ransom for ...

    golden_hamster 評(píng)論0 收藏0
  • Python從入門到轉(zhuǎn)行

    摘要:學(xué)了大半年之后成功轉(zhuǎn)行做前端了。包含大量其他神經(jīng)網(wǎng)絡(luò)庫(kù)中的包裝器和抽象,其中最值得注意的是,其中也包含一些機(jī)器學(xué)習(xí)的實(shí)用模塊。它是輕量級(jí)可擴(kuò)展的神經(jīng)網(wǎng)絡(luò)工具包,同時(shí)擁有友好的界面,可供機(jī)器學(xué)習(xí)的訓(xùn)練和預(yù)測(cè)使用。 題記:大二的時(shí)候發(fā)現(xiàn)人生苦短,所以信了拍神,開始學(xué)Python。學(xué)了大半年之后成功轉(zhuǎn)行做前端了。來(lái)寫個(gè)教程幫助大家入門Python。 Python零基礎(chǔ)入門 零基礎(chǔ)入門就得從最...

    ingood 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

lucas

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<