您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python源代碼的編制技巧是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
下面進行詳細說明Python源代碼的編程技巧,以及Python源代碼的相關拼寫規則,首先先讓大家了解下什么是Python語言,所謂的Python:是一種面向對象、直譯式計算機程序設計語言,也是一種功能強大而完善的通用型語言。
在這部分開始之前我也想聊聊之前我們一直在講,而且將來還一直會講下去的一個話題――狀態。 之前我們一直在討論。把用戶的狀態保存在一個集中的地方,尤其是大規模集群部署的情況下,同樣,對于django來說亦是如此,可以說這條金科玉律不只是針對某種針對某個語言。
某個框架,它應該是更高層次的一種理念。那么我們可以把狀態放到什么地方呢,目前一些流行的選擇是DB(內存表,或實體表),memcached,或者cookie。但這幾種選擇并不是可以隨便互換的,比如業務數據較多的情況下,放在Python源代碼中不是很合適,因為有可能超出cookie大小的限制。
那么放在memcached中,很遺憾,memcached(使用slab的情況下)中也有它自己的限制,如果狀態數據大小跨度較大,那么丟數據的情況有可能發生,ahuaxuan很久之前在測試環境下就碰到過這種情況。由于線上memcached開得較大,所以沒有出現這種情況,關于這種事件發生得內部原因在ahuaxuan的另外一篇文章中已經有了非常詳細的描述。
那么放在DB上呢,顯然,DB的壓力也是我們需要考慮的問題之一。當然除了這些主流的選擇之外,我們其他選擇還有很多,比如memcachedb,或者timesten,或者其他等等。但是對于狀態這種東西,尤其狀態數據比較重要的情況下,我們一定要深入研究并理解狀態數據的存儲技術,否則可能會遇到我們異想不到的情況。
比如很久之前我想破頭也不會想到memcached是LRU是針對某個slab的(而且我還要插一句,LRU的時候其實并不是遍歷slab中的chunk鏈表,而且只遍歷最開始的50個數據而已,這樣做純粹是為了速度)。 目前對django來說基本上有兩種部署策略, ***種是利用mod_python將django運行在apache進程中,還有一種是webserver+fastcgi。
這兩種方式各有優缺點,在mod_python模式中,我們的webserver必須使用apache,apache在webserver這一領域已經獨占鰲頭很多年了。市場占有率也是遠遠的超過其他的webserver,不過近幾年來,又崛起了幾個其他的webserver,其中比較出名的是ligttpd和nginx。
它們都以高性能和低內存消耗對apache發出了挑戰,而mod_python是apache的插件,使用這種方式就把我們的webserver限定在apache上了,不過還好apache+mod_python也是非常的穩定的方案了。 第二種就是webserver+fastcgi,這里的webserver就可以隨意選擇了,大多數的webserver對提供了對fastcgi的支持。
比如我們耳熟能詳的lighttpd和nginx,而且據稱在很多情況下,FastCGI能夠提供比mod_python更為優越的安全性和效能。針對小型站點,相對于Apache來說FastCGI更為輕量級。據稱qq的個人空間就是c++加fastcgi實現的,哦,這樣做的優勢在哪里呢,c++的處理速度將會非常的快。
也就是說每個fastcgi處理一個請求將會非常快速,比如使用python需要50毫秒,c++處理這個請求有可能只需要20毫秒(這個例子未必準確,只是為了說明fastcgi的特性)。雖然在開發上c++比較麻煩一點,不過在性能上,c++肯定是no1了,從這個例子上我們可以看到,使用fastcgi速度取決于處理一次請求的速度(廢話,哪個不是這樣)。
Tkinter是一個和Tk接口的Python源代碼,Tkinter庫提供了對Tk API的接口,它屬于Tcl/Tk的GUI工具組。Tcl/Tk是由John Ousterhout發展的書寫和圖形設備。Tcl(工具命令語言)是個宏語言。
用于簡化shell下復雜程序的開發,Tk工具包是和Tcl一起開發的,目的是為了簡化用戶接口的設計過程。Tk工具包由許多不同的小部件,如一個按鈕、一個滾動條等。通過Tk提供的這些小部件,我們就可快速地進行GUI開發。Perl、Scheme等語言也利用Tk庫進行GUI開發。Tkinter是跨平臺,在各種平臺下都能使用。
Python Imaging Library(PIL)————Python源代碼提供強大的圖形處理的能力,并提供廣泛的圖形文件格式支持,該庫能進行圖形格式的轉換、打印和顯示。還能進行一些圖形效果的處理,如圖形的放大、縮小和旋轉等。是Python用戶進行圖象處理的強有力工具。
Pmw(Python megawidgets)Python超級GUI組件集————一個在python中利用Tkinter模塊構建的高級GUI組件,每個Pmw都合并了一個或多個Tkinter組件,以實現更有用和更復雜的功能。
上述內容就是Python源代碼的編制技巧是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。