其實網(wǎng)上已經(jīng)有許多python語言書寫的串口,但大部分都是python2寫的,沒有找到一個合適的python編寫的串口助手,只能自己來寫一個串口助手,由于我只需要串口能夠接收讀取數(shù)據(jù)就可以了,故而這個串口助手只實現(xiàn)了數(shù)據(jù)的接收讀取。創(chuàng)建串口助手首先需要創(chuàng)建一個類,重構(gòu)類的實現(xiàn)過程如下:#coding=gb18030importthreadingimporttimeimportserialclassComThread:def__init__(self,Por
系統(tǒng) 2019-09-27 17:53:09 1934
什么是特殊方法?當(dāng)我們在設(shè)計一個類的時候,python中有一個用于初始化的方法$__init__$,類似于java中的構(gòu)造器,這個就是特殊方法,也叫作魔術(shù)方法。簡單來說,特殊方法可以給你設(shè)計的類加上一些神奇的特性,比如可以進(jìn)行python原生的切片操作,迭代、連乘操作等。在python中,特殊方法以雙下劃線開始,以雙下劃線結(jié)束。一個大例子數(shù)學(xué)中有一個表示數(shù)的概念叫做向量,但是python中的數(shù)據(jù)類型卻沒有。我們來設(shè)法用python實現(xiàn)它。首先考慮,向量跟普
系統(tǒng) 2019-09-27 17:53:07 1934
Python中經(jīng)常遇到這樣那樣的字符編碼問題,尤其在處理網(wǎng)頁源碼時(特別是爬蟲中):UnicodeDecodeError:‘XXX'codeccan'tdecodebytesinposition12-15:illegalmultibyte...每次看到上面這段文字的時候,感覺整個世界都昏暗了,然后就只能各種搜索找資料,過后就忘了。下次遇到時就讓世界再昏暗一次。為了徹底解決這個攔路虎,今天咱們就好好的來嘮嗑嘮嗑。下面以漢字'哈'來解釋作示例解釋所有的問題,漢
系統(tǒng) 2019-09-27 17:53:00 1934
函數(shù)的嵌套在Python編程語言中,在函數(shù)體內(nèi)創(chuàng)建另外一個函數(shù)(對象,因為Python一切皆對象,函數(shù)其實也是對象)是完全合法的,這種函數(shù)叫做內(nèi)部/嵌套函數(shù)。例子:#coding:utf-8defouter():definner():print("isInnerMethod")print("IsouterMethod")inner()#調(diào)用outer函數(shù)outer()#調(diào)用outer()的內(nèi)部函數(shù),報錯#inner()運(yùn)行結(jié)果:IsouterMethodi
系統(tǒng) 2019-09-27 17:52:56 1934
我想使用python的第三方庫,但是我的IDE給我一個錯誤代碼:D:\untitled\venv\Scripts\python.exe"D:/pycode/venv/sxsxsxsxs.py"Traceback(mostrecentcalllast):File"D:\untitled\venv\lib\site-packages\urllib3\connectionpool.py",line597,inurlopenself._prepare_proxy(
系統(tǒng) 2019-09-27 17:52:39 1934
yield的功能類似于return,但是不同之處在于它返回的是生成器。生成器生成器是通過一個或多個yield表達(dá)式構(gòu)成的函數(shù),每一個生成器都是一個迭代器(但是迭代器不一定是生成器)。如果一個函數(shù)包含yield關(guān)鍵字,這個函數(shù)就會變?yōu)橐粋€生成器。生成器并不會一次返回所有結(jié)果,而是每次遇到y(tǒng)ield關(guān)鍵字后返回相應(yīng)結(jié)果,并保留函數(shù)當(dāng)前的運(yùn)行狀態(tài),等待下一次的調(diào)用。由于生成器也是一個迭代器,那么它就應(yīng)該支持next方法來獲取下一個值。基本操作#通過`yield`
系統(tǒng) 2019-09-27 17:52:18 1934
基礎(chǔ)版(list方法)#比較占內(nèi)存w=int(input("輸入一個數(shù)字還你一個斐波那契數(shù)列:"))list_res=[]deflist_n(n):ifn>=3:res=list_n(n-1)+list_n(n-2)else:res=1returnresprint("開始")foriinrange(0,w):list_res.append(list_n(i+1))print(list_res)升級版#比較占內(nèi)存num=int(input("輸入一個數(shù)字還你
系統(tǒng) 2019-09-27 17:52:01 1934
本文實例講述了python日志logging模塊使用方法。分享給大家供大家參考,具體如下:一、從一個使用場景開始開發(fā)一個日志系統(tǒng),既要把日志輸出到控制臺,還要寫入日志文件importlogging#創(chuàng)建一個loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#創(chuàng)建一個handler,用于寫入日志文件fh=logging.FileHandler('test.log')
系統(tǒng) 2019-09-27 17:51:47 1934
簡介這篇博文和分類看似沒有多大關(guān)系,但是也是從上一篇衍生出來的產(chǎn)物,因為涉及到FQ工具Lantern,就算是給關(guān)注和支持的小伙伴們拓展一下眼界和知識面。而且好多人都閱讀了上一篇沒發(fā)現(xiàn)那個參考博客點(diǎn)不開嗎?那是因為還沒來的急,整理和編寫,今天再試一下就可以。一個軟件可能占用多個端口擁有多個目標(biāo)IP,下面以FQ工具Lantern為例,說明端口查看方法:1.借助第三方軟件查看如果你電腦上安裝了360等優(yōu)化工具,可能會自帶查看網(wǎng)絡(luò)狀況的插件如下圖:2.命令行窗口查
系統(tǒng) 2019-09-27 17:51:27 1934
Python在debug方面的支持還是不錯的,在明確代碼意義的情況下,通過log、print和assert分析錯誤原因,配合單元測試可以很高效。然而,實際工作中大量代碼很可能出自他人之手,這種情況下,使用debugger就顯得更加高效了。一、在控制臺下進(jìn)行程序調(diào)試PDB如果你熟悉命令行調(diào)試工具(例如gdb、lldb),那么使用Python中的PDB將獲得非常好的體驗,PDB不僅支持項目啟動時進(jìn)行調(diào)用,也支持在Pythonshell中交互式調(diào)試;功能上,支持
系統(tǒng) 2019-09-27 17:50:11 1934