自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度講述Python標(biāo)準(zhǔn)語(yǔ)言特性

開(kāi)發(fā) 后端
本文首先介紹一下Python標(biāo)準(zhǔn)語(yǔ)言的歷史,總結(jié)了Python的強(qiáng)大之處和不足并且指出了與其他腳本語(yǔ)言相比,以及Python語(yǔ)言與其他語(yǔ)言的優(yōu)勢(shì)所在。

下面著重講述學(xué)習(xí)Python標(biāo)準(zhǔn)語(yǔ)言時(shí)碰到的相關(guān)難題和問(wèn)題,以及學(xué)習(xí)Python標(biāo)準(zhǔn)語(yǔ)言的技巧,如何更好的進(jìn)行Python標(biāo)準(zhǔn)語(yǔ)言的學(xué)習(xí),希望本文能給大家?guī)?lái)幫助。

模擬中的核心概念是進(jìn)程。一個(gè)進(jìn)程只是一個(gè)對(duì)象,它完成某些任務(wù),隨后在它準(zhǔn)備完成下一個(gè)任務(wù)之前有時(shí)會(huì)等待一會(huì)兒。在 SimPy 中,您還可以“鈍化”進(jìn)程,這意味著在一個(gè)進(jìn)程完成一個(gè)任務(wù)后,只有當(dāng)其它進(jìn)程要求該進(jìn)程完成其它任務(wù)時(shí),它才會(huì)去做。

把進(jìn)程當(dāng)作嘗試完成一個(gè)目標(biāo),常常是很有用的。在編寫(xiě)進(jìn)程時(shí),通常把它編寫(xiě)成可以在其中執(zhí)行多個(gè)操作的循環(huán)。在每個(gè)操作之間,可以插入 Python“yield”語(yǔ)句,它讓模擬調(diào)度程序在返回控制之前執(zhí)行每個(gè)等待進(jìn)程的操作。

進(jìn)程執(zhí)行的許多操作取決于資源的使用。資源只是在可用性方面受到限制。在生物學(xué)模型中,資源可能是食物供應(yīng);在網(wǎng)絡(luò)模型中,資源可以是路由器或有限帶寬通道;在我們的市場(chǎng)模擬中,資源是付款通道。資源執(zhí)行的唯一任務(wù)是在任何給定的時(shí)間內(nèi)將它的使用限于一個(gè)特定的進(jìn)程上。

在 SimPy 編程模型下,進(jìn)程單獨(dú)決定它要保留資源的時(shí)間有多長(zhǎng),資源本身是被動(dòng)的。在實(shí)際系統(tǒng)中,SimPy 模型可能適合概念性方案,也可能不適合;很容易想象到資源在本質(zhì)上會(huì)限制其利用率(例如,如果服務(wù)器計(jì)算機(jī)在必需的時(shí)間幀內(nèi)沒(méi)有獲得滿意的響應(yīng),則它會(huì)中斷連接)。

但作為編程問(wèn)題,進(jìn)程或資源是否是“主動(dòng)”方就不是特別重要(只要確保您理解了您的意圖)。最后一個(gè) SimPy 類是監(jiān)控程序。實(shí)際上監(jiān)控程序不是很重要,只不過(guò)它很方便。監(jiān)控程序所做的全部任務(wù)就是記錄向它報(bào)告的事件,并保存有關(guān)這些事件的統(tǒng)計(jì)信息(平均值、計(jì)數(shù)、方差等)。

該庫(kù)提供的 Monitor 類對(duì)記錄模擬措施是個(gè)有用的工具,但您也可以通過(guò)您想使用的其它任何技術(shù)來(lái)記錄事件。事實(shí)上,我的示例使 Monitor 子類化,以提供某些(稍微)增強(qiáng)的能力。

當(dāng)我最初考慮食品雜貨店模型時(shí),我認(rèn)為模擬可以解答幾個(gè)直接問(wèn)題。例如,我想象店主可能會(huì)選擇購(gòu)買改進(jìn)的掃描儀(減少 ITEMTIME)。或者選擇雇傭更多職員(增加 AISLES)。我想只要在每個(gè)方案下運(yùn)行這個(gè)模擬(假設(shè)雇員和技術(shù)成本給定的情況下),并確定上面兩種選擇哪種更能減少成本。

減少一條付款通道不是使平均等待時(shí)間增加 1/5 或類似的情況,而是使它增加了大約 4 倍。而且,最不幸的顧客(在這些特定的運(yùn)行期間)的等待時(shí)間從 6 分鐘增加到了 21 分鐘。如果我是經(jīng)理,我認(rèn)為了解這個(gè)極限情況對(duì)顧客滿意度而言是極其重要的,并確定上面兩種選擇哪種更能減少成本。

Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無(wú)趣,決心開(kāi)發(fā)一個(gè)新的腳本解釋程序,做為 ABC 語(yǔ)言的一種繼承。之所以選中 Python(大蟒蛇的意思)作為程序的名字,是因?yàn)樗且粋€(gè)Monty Python的飛行馬戲團(tuán)的愛(ài)好者。

ABC是由Guido參加設(shè)計(jì)的一種教學(xué)語(yǔ)言。就Guido本人看來(lái),ABC 這種語(yǔ)言非常優(yōu)美和強(qiáng)大,是專門(mén)為非專業(yè)程序員設(shè)計(jì)的。但是ABC語(yǔ)言并沒(méi)有成功,究其原因,Guido 認(rèn)為是非開(kāi)放造成的。Guido 決心在 Python 中避免這一錯(cuò)誤(的確如此,Python 與其它的語(yǔ)言如C、C++和Java結(jié)合的非常好)。同時(shí),他還想實(shí)現(xiàn)在 ABC 中閃現(xiàn)過(guò)但未曾實(shí)現(xiàn)的東西。

就這樣,Python在Guido手中誕生了。實(shí)際上,第一個(gè)實(shí)現(xiàn)是在Mac機(jī)上。可以說(shuō),Python是從ABC發(fā)展起來(lái),主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強(qiáng)大的語(yǔ)言,為小型團(tuán)體所設(shè)計(jì)的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。

責(zé)任編輯:chenqingxiang 來(lái)源: IT專家網(wǎng)
相關(guān)推薦

2010-02-23 09:52:39

2010-02-02 09:08:39

Python 特性

2010-03-01 17:47:53

Python語(yǔ)言

2010-03-05 15:43:46

Android SDK

2010-03-01 14:50:06

Python 工具

2010-02-03 11:26:28

2009-12-29 08:54:09

Ubuntu CUDA

2010-03-01 18:33:30

2009-12-31 15:05:23

Ubuntu Virt

2009-12-25 09:17:50

2009-12-28 16:39:56

Fedora 9

2010-03-11 20:33:14

Python編程語(yǔ)言

2011-05-17 14:53:35

C

2010-03-01 18:07:53

Python語(yǔ)言

2010-01-13 11:14:06

C++虛表

2009-12-31 10:15:10

Ubuntu9.04

2009-12-25 10:36:10

ASP.NET 和 X

2010-01-12 10:11:36

學(xué)習(xí)C++語(yǔ)言

2010-01-12 15:24:48

C++語(yǔ)言

2010-02-02 13:22:06

Python面向?qū)ο?/a>
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)