新聞中心
Python應(yīng)用程序是可以支持面向過程的編程也支持面向?qū)ο蟮木幊?,在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的,希望本文能給大家?guī)韼椭?/p>

興隆臺ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
SimPy 庫只提供了三個抽象/父類,并且它們對應(yīng)于模擬的三個基本概念。有許多其它常規(guī)函數(shù)和常量用于控制模擬的運行,但重要的概念都與這些類結(jié)合在一起。模擬中的核心概念是進程。一個進程只是一個對象,它完成某些任務(wù),隨后在它準(zhǔn)備完成下一個任務(wù)之
前有時會等待一會兒。在 SimPy 中,您還可以“鈍化”進程,這意味著在一個進程完成一個任務(wù)后,只有當(dāng)其它進程要求該進程完成其它任務(wù)時,它才會去做。把進程當(dāng)作嘗試完成一個目標(biāo),常常是很有用的。在編寫進程時,通常把它編寫成可以在其中執(zhí)行多個操作的循環(huán)。
在每個操作之間,可以插入 Python應(yīng)用程序語句,它讓模擬調(diào)度程序在返回控制之前執(zhí)行每個等待進程的操作。進程執(zhí)行的許多操作取決于資源的使用。資源只是在可用性方面受到限制。
在生物學(xué)模型中,資源可能是食物供應(yīng);在網(wǎng)絡(luò)模型中,資源可以是路由器或有限帶寬通道;在我們的市場模擬中,資源是付款通道。資源執(zhí)行的唯一任務(wù)是在任何給定的時間內(nèi)將它的使用限于一個特定的進程上。
在 SimPy 編程模型下,進程單獨決定它要保留資源的時間有多長,資源本身是被動的。在實際系統(tǒng)中,SimPy 模型可能適合概念性方案,也可能不適合;很容易想象到資源在本質(zhì)上會限制其利用率(例如,如果服務(wù)器計算機在必需的時間幀內(nèi)沒有獲得滿意的響應(yīng),則它會中斷連接)。
但作為編程問題,進程或資源是否是“主動”方就不是特別重要(只要確保您理解了您的意圖)。***一個 SimPy 類是監(jiān)控程序。實際上監(jiān)控程序不是很重要,只不過它很方便。監(jiān)控程序所做的全部任務(wù)就是記錄向它報告的事件,并保存有關(guān)這些事件的統(tǒng)計信息(平均值、計數(shù)、方差等)。
該庫提供的Python應(yīng)用程序?qū)τ涗浤M措施是個有用的工具,但您也可以通過您想使用的其它任何技術(shù)來記錄事件。事實上,我的示例使 Monitor 子類化,以提供某些(稍微)增強的能力。
在我所撰寫的大部分文章中,我都會馬上給出樣本應(yīng)用程序,但在本例中,我認為帶您經(jīng)歷食品雜貨店應(yīng)用程序的每個步驟會更有用。如果您愿意的話,可以把每個部分剪貼在一起;SimPy 創(chuàng)造者們將在將來的發(fā)行版中包含我的示例。
有些 SimPy 附帶的示例使用 import * 樣式。但我更喜歡使我填充的名稱空間更清晰。對于 Python應(yīng)用程序(SimPy 所需的***版本),將需要如指出的那樣,導(dǎo)入生成器特性。對于 Python 2.3 以后的版本,不需要這樣做。
對于我的應(yīng)用程序,我定義了幾個運行時常量,它們描述了在特定的模擬運行期間我感興趣的幾個方案。在我更改方案時,我必須在主腳本內(nèi)編輯這些常量。要是這個應(yīng)用程序的內(nèi)容更充實。
那么我就可能用命令行選項、環(huán)境變量或配置文件來配置這些參數(shù)。但就目前而言,這個樣式已經(jīng)足夠了:
我們的模擬需要完成的主要任務(wù)是定義一個或多個進程。對于模擬食品雜貨店,我們感興趣的進程是在通道處付款的顧客。
【編輯推薦】
- 有關(guān)Python系統(tǒng)文件進行介紹指導(dǎo)
- 如何正確的使用Python函數(shù)
- 對Python 構(gòu)建工具進行詳細介紹分析
- PythonAndroid淺析Python優(yōu)勢所在
- 如何使用Python模塊解析配置文件?
當(dāng)前文章:面向?qū)ο蟮木幊獭狿ython應(yīng)用程序
文章URL:http://www.dlmjj.cn/article/djdecpi.html


咨詢
建站咨詢
