国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
說(shuō)Python酷炫的10個(gè)理由

創(chuàng)建交互式web應(yīng)用的方法在過(guò)去幾年發(fā)生了天翻地覆的變化。建站的選擇似乎是無(wú)窮無(wú)盡的,并且一旦你開(kāi)始了解某個(gè)框架或者技術(shù)棧的優(yōu)缺點(diǎn),你很快就會(huì)感到困惑。嗯..Django vs Ruby on Rails vs Flask vs Node.js vs Spring vs Yii vs Batman.js vs <自行腦部流行的框架>.如果你因?yàn)锽atman的名字而選擇它,我表示服。我們Josh.ai的系統(tǒng)需要處理好幾種完全不相干的需求,Python讓我們可以很靈活的滿足這些甚至有時(shí)候會(huì)相互沖突的需求。

1 Python范兒

首先我想說(shuō),我喜歡Python這門(mén)語(yǔ)言。在某種意義上說(shuō),Python是個(gè)萬(wàn)金油——你可以遵循某個(gè)有理有據(jù)的面向?qū)ο缶幊棠J?,也可以嘗嘗某些函數(shù)式編程的感覺(jué)。我列舉一些python語(yǔ)言有趣的特性:生成器,map和filter操作,lambda函數(shù)等。有些特性可能看起來(lái)很令人費(fèi)解,但很多時(shí)候我會(huì)深入到具體的應(yīng)用場(chǎng)景,研究為了完成某些有趣的任務(wù)我到底需要什么。而且,我喜歡python的縮進(jìn)排版,當(dāng)然這是個(gè)人偏愛(ài)??s進(jìn)的好處是帶來(lái)相對(duì)干凈整潔的代碼,這在項(xiàng)目變得很大的時(shí)候會(huì)非常有用。Pythonic是個(gè)時(shí)髦話,盡管去打開(kāi)一個(gè)終端,進(jìn)入python解釋器,敲入“import this'來(lái)體驗(yàn)吧。

2 你可以擁有全部

如果你正在搜尋配套完善的方案讓一個(gè)項(xiàng)目盡快落地,可以考慮Django框架。Django以聲稱(chēng)“解決web開(kāi)發(fā)的大部分瑣碎事務(wù)”而聞名。這意味著一旦啟動(dòng)Django應(yīng)用,大量的功能如數(shù)據(jù)庫(kù)處理,HTML模板功能(讓頁(yè)面即時(shí)生成內(nèi)容)開(kāi)箱即用。許多擁躉也推崇Django自帶的管理后臺(tái),它本身也是一個(gè)Django應(yīng)用,讓用戶(hù)可以方便的查看、修改和刪除數(shù)據(jù)庫(kù)中已創(chuàng)建的對(duì)象(通過(guò)創(chuàng)建數(shù)據(jù)庫(kù)model和設(shè)定對(duì)象如何在dashboard中展示的定制類(lèi)之間的映射來(lái)實(shí)現(xiàn))。除了官方版本的Django,另一大利好是數(shù)不清的第三方應(yīng)用,可以直接引入到自己的項(xiàng)目中。理想情況下這些外部的應(yīng)用在經(jīng)過(guò)不那么令人頭疼的配置之后就可以正常工作了。Django起始于2003年,如今社區(qū)已經(jīng)非常龐大,這意味著通??梢钥焖偎阉鞯嚼_你的問(wèn)題的答案。相對(duì)于其他的選項(xiàng)來(lái)說(shuō)Django是一個(gè)很龐大的軟件,個(gè)人認(rèn)為需要花費(fèi)一些時(shí)間才能熟練、高效的運(yùn)用各個(gè)組件。如果你對(duì)某些開(kāi)箱即用的方案(包括引入的第三方應(yīng)用)感到滿意,那說(shuō)明你的項(xiàng)目已經(jīng)有了很棒的開(kāi)端。

3 你可以得到足夠多

在Python web框架的世界里,頗受歡迎的Flask框架與Django形成了鮮明對(duì)比。關(guān)于Flask你所知道的第一件事就是它的設(shè)計(jì)理念之一——Flask是個(gè)“微”框架,核心足夠輕量級(jí),開(kāi)發(fā)者可以選擇用各種方式來(lái)擴(kuò)展功能。如果你的站點(diǎn)提供一系列動(dòng)態(tài)內(nèi)容供用戶(hù)瀏覽,那我推薦你使用Flask框架。我認(rèn)為創(chuàng)建Flask應(yīng)用并把它逐步完善的體驗(yàn)是非常輕松愉快、一目了然的(即便與Django相比)。經(jīng)典的“hello world”Flask版只需要用戶(hù)編寫(xiě)7行代碼,當(dāng)然這幾行代碼也干不了別的事,不過(guò)很好的體現(xiàn)了Flask為了提供簡(jiǎn)潔性所帶來(lái)的努力。

就擴(kuò)展性而言,F(xiàn)lask將選擇數(shù)據(jù)庫(kù)解決方案、模板語(yǔ)言以及其他web應(yīng)用核心組件的自主權(quán)都交由開(kāi)發(fā)者。這讓我感覺(jué)我對(duì)自己的應(yīng)用從頭到腳都盡在掌握。如果你是一個(gè)初入門(mén)的開(kāi)發(fā)者,不希望自己決定使用什么技術(shù)來(lái)支撐自己的網(wǎng)站,請(qǐng)記住Flask社區(qū)里已經(jīng)有很多廣泛使用的擴(kuò)展可以讓你用相對(duì)“標(biāo)準(zhǔn)化”的方式來(lái)搞定這些惱人的選項(xiàng)。例如我很推薦Flask專(zhuān)家Miguel Grinberg的這篇tutorial。你將看到只需要忍受一點(diǎn)點(diǎn)痛苦(相比于Flask的其他競(jìng)爭(zhēng)者來(lái)說(shuō))就可以組建起一個(gè)成熟可用的Flask應(yīng)用。Flask框架在你從頭構(gòu)建應(yīng)用的時(shí)候可以提供很多便捷,同時(shí)不會(huì)給你那些你不知道自己是否需要的累贅部件。

4 撬起python的世界

回到語(yǔ)言本身,Python以“只有想不到?jīng)]有找不到”為幾乎所有應(yīng)用提供庫(kù)支持而馳名。我覺(jué)得python的核心庫(kù)都提供了完備的文檔,這讓情況變得不同。一個(gè)很好的例子是廣泛使用的Numpy和Scipy兩個(gè)用于科學(xué)計(jì)算的庫(kù)。從社區(qū)中你可以獲取大量用于統(tǒng)計(jì)工作的第三方庫(kù),例如酷炫的人工智能和機(jī)器學(xué)習(xí)相關(guān)的庫(kù)(訪問(wèn)PyBrain試試看).眾所周知作為最廣為應(yīng)用的語(yǔ)言之一,python有一個(gè)龐大的社區(qū),這意味著有大量前人的QA,并且往往問(wèn)題都已經(jīng)有了漂亮的答案。我把Python看作一個(gè)通用型的語(yǔ)言,把它放在你的武器庫(kù)里,在將來(lái)很長(zhǎng)一段時(shí)間它都能發(fā)揮作用。

5 易于部署

某些時(shí)候你有一個(gè)華麗的web應(yīng)用想讓別人把玩但可能不知該如何操作,幸運(yùn)的是我有過(guò)部署Python應(yīng)用的愉快體驗(yàn)。我是Heroku的粉絲,因?yàn)镠eroku可以做很多事情,包括建立虛擬環(huán)境,安裝Python依賴(lài)包,通過(guò)把a(bǔ)pp鏈接到Github源上讓修改代碼變得容易,如果你愿意它也可以在不用處理域名、DNS的情況下提供一種訪問(wèn)線上web應(yīng)用的方法,非常有用的錯(cuò)誤日志以及只要你想就可以非常容易的擴(kuò)展計(jì)算資源。Heroku甚至還提供了大量的擴(kuò)展庫(kù)用于添加到網(wǎng)站里,例如存儲(chǔ)擴(kuò)展(比如PostgreSQL或者Redis),站點(diǎn)監(jiān)控,email插件等等。當(dāng)然除了Heroku還有很多其他替代方案讓你的應(yīng)用跑起來(lái),你可以根據(jù)自己對(duì)應(yīng)用控制級(jí)別的期望以及價(jià)格因素來(lái)決定。

6 數(shù)據(jù)庫(kù)工作的絕佳選擇

前面我間接提到過(guò)在使用Flask框架開(kāi)發(fā)時(shí)感受到的靈活性。而對(duì)于數(shù)據(jù)庫(kù)工作來(lái)說(shuō)這一點(diǎn)更明顯了。Python有一套完備的庫(kù)用來(lái)處理數(shù)據(jù)庫(kù)連接、查詢(xún)和管理。我近來(lái)主要使用PosgreSQL,而即便是對(duì)于PostgreSQL也有好幾個(gè)庫(kù)可以選擇。Psycopg是眾所周知的PostgreSQL Python適配庫(kù),它提供了一種簡(jiǎn)潔的方法連接并運(yùn)行一下基本的查詢(xún),適用于建立新部件的時(shí)候。如果你喜歡,可以選擇另一個(gè)方案SQLAlchemy庫(kù),它以O(shè)RM聞名遐邇。ORM的意思就是你可以創(chuàng)建Python類(lèi)來(lái)模擬需要查詢(xún)的數(shù)據(jù)庫(kù)表,然后就可以通過(guò)操作Python里的對(duì)象來(lái)操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。如果你想避免手寫(xiě)SQL查詢(xún)語(yǔ)句,SQLAlchemy也提供了一種Python式的查詢(xún)方式,這對(duì)開(kāi)發(fā)者來(lái)說(shuō)更加自然。數(shù)據(jù)庫(kù)是整個(gè)應(yīng)用的基石,所以花一些工夫選擇最適合你的站點(diǎn)的方案是值得的。

7 飛速開(kāi)發(fā)

我上面的所有觀點(diǎn)都證明了你可以快速搭建起一個(gè)可以運(yùn)行的應(yīng)用原型,這也是人們對(duì)Python的一貫印象。只要有一個(gè)類(lèi)似于Flask的框架,一些用于處理用戶(hù)授權(quán)和數(shù)據(jù)庫(kù)連接的擴(kuò)展以及用Heroku快速啟動(dòng),你就可以很快看到結(jié)果(尤其是考慮到python本身的簡(jiǎn)潔性)。在你希望嘗試新東西并觀察效果的時(shí)候,這將會(huì)是極大的便利。

8 直觀的同步機(jī)制

Python自帶文檔完善的同步機(jī)制。

當(dāng)你的站點(diǎn)有許多用戶(hù)訪問(wèn)并且更改內(nèi)部信息的時(shí)候,你就需要考慮如何保護(hù)你的數(shù)據(jù),這樣誰(shuí)在什么時(shí)間可以訪問(wèn)就變得清楚明白。Python有清晰的語(yǔ)法來(lái)給數(shù)據(jù)結(jié)構(gòu)加鎖,設(shè)置條件變量以允許更多的事件同時(shí)進(jìn)行等。這些東西可能不會(huì)立馬用上,但是把它們裝在后背燃料箱里面遲早會(huì)發(fā)揮作用,畢竟沒(méi)人想被死鎖住。

9 異步功能的多樣選擇

我前面提到了創(chuàng)建大部分人認(rèn)為的“普通網(wǎng)站”(訪問(wèn)站點(diǎn)里不同的頁(yè)面,填一些表單,點(diǎn)擊某些亮閃閃的按鈕等)的一些不錯(cuò)的解決方案。而我們Josh.ai正在開(kāi)發(fā)一款個(gè)人助手用來(lái)管理智能家庭,這意味著實(shí)時(shí)通訊在開(kāi)發(fā)中異常重要。考慮到這樣的需求,上面的那種一般性網(wǎng)站就不適用了,畢竟我們的關(guān)注點(diǎn)是實(shí)時(shí)性而不是給用戶(hù)提供漂亮的頁(yè)面。萬(wàn)幸Python也提供了方案。異步通信,舉例來(lái)說(shuō),不管在任何時(shí)候用戶(hù)都可以讓Josh“關(guān)閉廚房的燈”,而Josh也要及時(shí)給用戶(hù)有效的反饋。傳統(tǒng)的請(qǐng)求-應(yīng)答循環(huán)并不非常適用。有一個(gè)流行的Python項(xiàng)目可以用于處理這種場(chǎng)景——Tornado。在項(xiàng)目主頁(yè)的右邊你可以看到開(kāi)發(fā)者將這個(gè)框架歸類(lèi)為“異步網(wǎng)絡(luò)庫(kù)”,完美!它提供WebSockets,一種讓你可以在任何時(shí)候讓客戶(hù)端和服務(wù)器交換數(shù)據(jù)的途徑。另外一個(gè)值得研究的潛在解決方案是gevent websocket庫(kù),它使用輕量級(jí)的“綠色”線程來(lái)快速處通信問(wèn)題。

10 初學(xué)者的福音

最后,許多文章源稱(chēng)贊Python是初學(xué)者的最佳語(yǔ)言。如上所述,Python從其他語(yǔ)言借鑒了很多元素,這讓初學(xué)者有很多選擇可以嘗試。用戶(hù)可以找到很棒的入門(mén)教程一邊學(xué)習(xí)重要的編程范式一邊學(xué)習(xí)如何將項(xiàng)目完善起來(lái)。打開(kāi)終端開(kāi)始測(cè)試某些python代碼非常方便,設(shè)置好一個(gè)開(kāi)始干活的環(huán)境也很直觀。搞定了這個(gè)之后,只要你愿意,只需要import PyBrain,現(xiàn)在你就是一個(gè)神經(jīng)網(wǎng)絡(luò)的專(zhuān)家了。


此文作者是Nate,他在Josh.ai專(zhuān)注于云計(jì)算和網(wǎng)絡(luò)方面的工作。Nate之前在紐約的RBC Capital Markets任職全球市場(chǎng)分析師。Nate在紐約長(zhǎng)大,獲得了康奈爾大學(xué)的CS學(xué)位。Nate最近搬到了科羅拉多州,工作之外他喜歡高爾夫、網(wǎng)球、遠(yuǎn)足以及健身,并且期望去嘗試滑雪。


英文原文:https://medium.com/@joshdotai/10-reasons-python-is-awesome-3dcb98a1291a#.u3w2tqnne
譯者:騎豬過(guò)江南


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Python三大主流框架對(duì)比!Python學(xué)習(xí)教程
Flask 入門(mén)指南
今天來(lái)一起梳理一下,俯瞰整個(gè)Python寶庫(kù),包含每個(gè)領(lǐng)域的精品庫(kù)
我整理了一些Python測(cè)試的庫(kù),看看有沒(méi)有你想要的
Flask、Django、Pyramid三個(gè)框架的對(duì)比
Python 2013 精彩回顧:新聞、好文和資源
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服