最近看《python核心編程》,書中實現了一個簡單的1對1的TCPserver,但是在實際使用中1對1的形勢明顯是不行的,所以研究了一下如何在server端通過啟動不同的線程(進程)來實現每個鏈接一個線程。其實python在類的設計上已經考慮到了這一方面的需求,我們只要在自己的server上繼承一下SocketServer.BaseRequestHandler就可以了。server端代碼如下:#!/usr/bin/envpythonimportSocket
系統 2019-09-27 17:48:11 2065
前言Python的字典有好多個名稱("映射"、"哈希"、"散列"或者"關系數組"),那你知道為什么字典會被稱為Hash(翻譯為"哈希"或"散列")嗎?你知道為什么字典對于鍵(Key)的存儲數據要求比較嚴格,但對于對應的值(Value)的存儲卻要求很寬松嗎?讀完這篇文章,你將深刻理解這些問題背后的真相!hash首先我們來解釋一下什么是Hash,來自維基百科:散列函數(或散列算法,又稱哈希函數,英語:HashFunction)是一種從任何一種數據中創建小的數字
系統 2019-09-27 17:47:41 2065
fromkeys()方法從序列鍵和值設置為value來創建一個新的字典。語法以下是fromkeys()方法的語法:dict.fromkeys(seq[,value]))參數seq--這是將用于字典的鍵準備的值的列表。value--這是可選的,如果提供的話則值將被設置為這個值返回值此方法返回列表。例子下面的例子顯示fromkeys()方法的使用。#!/usr/bin/pythonseq=('name','age','sex')dict=dict.fromke
系統 2019-09-27 17:46:49 2065
前幾天看到某論壇有人提了這么個問題,Python這么火,為啥找工作這么難呢?這兩年因為第三波人工智能熱潮讓Python火了一把,讓中小學生、非程序員(產品經理、運營)都加入到了學習Python的行列,那之前Python火嗎?雖然和Java、C這些大佬有差距,但是它一直保持在前幾位,并沒有掉隊,緊隨大佬。而曾經很熱門的Perl、Ruby似乎都淡出了我們的視線。跟經濟一樣,語言也有周期,你可以認為Python現在是大牛市,想繼續追高估計有點難了。在Python
系統 2019-09-27 17:46:08 2065
【import模塊】和C中的#include不同,Python中的import語句并不是簡單的把一個文件插入另外一個文件。導入其實是運行時的運算,程序第一次導入指定文件時,會執行以下步驟,1.找到模塊文件2.編譯成位碼3.執行模塊中的代碼來創建所定義的模塊并生成.pyc字節碼文件,這三個步驟只在程序執行時,模塊第一次導入時會進行。之后導入相同的模塊時,會跳過這三個步驟,而只提取內存中已加載的模塊對象,速度要快的多。NOTE:1.Python把已加載的模塊放
系統 2019-09-27 17:45:52 2065
問題在平時工作中,遇到了這樣的錯誤:UnicodeDecodeError:'ascii'codeccan'tdecodebyte想必大家也都碰到過,很常見。于是決定對python的編碼做一個整理和學習。基礎知識在python2.x中,有兩種數據類型,unicode和str,這兩個都是basestring的子類>>>a='中'>>>type(a)>>>isinstance(a,basestring)True>>>a=u'中'>>>type(a)>>>isin
系統 2019-09-27 17:38:31 2065
醬燒茄子(zz)原料:茄子,肉末,大蒜(稍多),蔥末,醬油,味精做法:1)茄子洗凈,對半切開。然后在茄皮一面切花刀2)茄子放入油鍋里炸熟,炸熟后撈起,放入盤中備用3)鍋中放油,然后放入大蒜,炒香后倒入肉末,直道肉末熟了,倒入醬油(因為不放鹽,所以醬油稍多),之后放少許味精,將炸好的茄子倒入,翻炒幾下,讓茄子都能裹上醬油色,裝盤時用筷子先把茄子夾起來放在盤底,然后倒入肉末,最后撒上蔥末即可。注意:1如果覺得炸比較麻煩,煎茄子也是可以的,只要熟了就行。但是煎很
系統 2019-08-29 23:03:58 2065
linux服務器上的11種tcp狀態說明:通常情況下:一個正常的TCP連接,都會有三個階段:1、TCP三次握手;2、數據傳送;3、TCP四次揮手里面的幾個概念:SYN:(同步序列編號,SynchronizeSequenceNumbers)ACK:(確認編號,AcknowledgementNumber)FIN:(結束標志,FINish)TCP三次握手(創建OPEN)客戶端發起一個和服務創建TCP鏈接的請求,這里是SYN(J)服務端接受到客戶端的創建請求后,返
系統 2019-08-29 23:00:17 2065
通常的概念中,2D也就是所謂的二維,也就是平面圖形——即由X與Y坐標構成的圖形,其內容由水平的X軸向與垂直的Y軸描繪確定,也就是由長和高的形成所謂的二維平面。而所謂3D,也稱之為三維。其圖形內容除了有水平的X軸向與垂直的Y軸向外還有進深的Z軸,故稱三維(XYZ),也就是由長、寬、高三項要素形成所謂的三維立體。2D與3D的主要區別在于,3D可以包含360度的信息,能從各個角度去表現,構成近似于現實空間的有質感視角;而2D通常只能表現如表格、棋盤版的平面數據。
系統 2019-08-29 22:56:41 2065
1.創建注冊表文件:打開記事本,輸入一些內容:REGEDIT4[HKEY_CURRENT_USER/Software/MyRegDataApp]"UseTime"="10"保存為“RegData.reg”2.創建winform項目引用名稱空間1usingMicrosoft.Win32;在Form中激活load事件,并添加代碼1RegistryKeyRootKey,RegKey;23//項名為:HKEY_CURRENT_USER/Software4RootK
系統 2019-08-29 22:53:12 2065