一、往文件中寫(xiě)入數(shù)據(jù)往TXT文件寫(xiě)入的時(shí)候報(bào)錯(cuò)'gbk'codeccan'tencodecharacter'\xXX'inpositionXX打開(kāi)文件時(shí),增加一個(gè)選項(xiàng):defwirteFile(content):path=os.getcwd()a_path=os.path.join(path,"content.txt")f=open(a_path,"w+",encoding="utf-8")f.write(content)f.close()open()中添
系統(tǒng) 2019-09-27 17:49:29 1967
Python重試模塊retrying工作中經(jīng)常碰到的問(wèn)題就是,某個(gè)方法出現(xiàn)了異常,重試幾次。循環(huán)重復(fù)一個(gè)方法是很常見(jiàn)的。比如爬蟲(chóng)中的獲取代理,對(duì)獲取失敗的情況進(jìn)行重試。剛開(kāi)始搜的幾個(gè)博客講的有點(diǎn)問(wèn)題,建議看官方文檔,還有自己動(dòng)手實(shí)驗(yàn)。參考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的版本importrequestsclassProxyUtil
系統(tǒng) 2019-09-27 17:49:24 1967
一.lamda匿名函數(shù)為了解決一些簡(jiǎn)單的需求而設(shè)計(jì)的一句話函數(shù)#計(jì)算n的n次方deffunc(n):returnn**nprint(func(10))f=lambdan:n**nprint(f(10))lambda表示的是匿名函數(shù).不需要用def來(lái)聲明,一句話就可以聲明出一個(gè)函數(shù)語(yǔ)法:函數(shù)名=lambda參數(shù):返回值注意:1.函數(shù)的參數(shù)可以有多個(gè).多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)2.匿名函數(shù)不管多復(fù)雜.只能寫(xiě)一行,且邏輯結(jié)束后直接返回?cái)?shù)據(jù)3.返回值和正常的函數(shù)一樣,
系統(tǒng) 2019-09-27 17:49:16 1967
我用了簡(jiǎn)單工廠和建造者模式,與python的GUI配合實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的計(jì)算器系統(tǒng),下面是運(yùn)行結(jié)果,之后會(huì)向大家講解。類(lèi)圖如下:部分代碼如下:builderModel.py建造者模式代碼classProduct():"""復(fù)雜產(chǎn)品類(lèi)該類(lèi)用于存放并返回兩個(gè)操作數(shù)Attributes:self.NumOne:第一個(gè)操作數(shù)self.NumTwo:第二個(gè)操作數(shù)"""def__init__(self,NumOne,NumTwo):self.__NumOne=NumOn
系統(tǒng) 2019-09-27 17:49:07 1967
numpy.ptp()是計(jì)算最大值與最小值差的函數(shù),用法如下:importnumpyasnpa=np.array([np.random.randint(0,20,5),np.random.randint(0,20,5)])print('原始數(shù)據(jù)\n'a)print('對(duì)所有數(shù)據(jù)計(jì)算\n',a.ptp())print('axis=0,按行方向計(jì)算,即每列\(zhòng)n',a.ptp(axis=0))#按行方向計(jì)算,即每列print('axis=1,按列方向計(jì)算,即每行
系統(tǒng) 2019-09-27 17:48:43 1967
這篇文章主要介紹了python制作英語(yǔ)翻譯小工具代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下用python爬蟲(chóng)可以制作英語(yǔ)翻譯小工具。來(lái)看下代碼吧~importrequests,json#函數(shù)封裝deftranslator():session=requests.session()i=input('請(qǐng)問(wèn)你要翻譯什么?')url='http://fanyi.youdao.com/translate'
系統(tǒng) 2019-09-27 17:48:32 1967
Python迭代器與生成器實(shí)例詳解一、如何實(shí)現(xiàn)可迭代對(duì)象和迭代器對(duì)象1.由可迭代對(duì)象得到迭代器對(duì)象例如l就是可迭代對(duì)象,iter(l)是迭代器對(duì)象In[1]:l=[1,2,3,4]In[2]:l.__iter__Out[2]:In[3]:t=iter(l)In[4]:t.next()Out[4]:1In[5]:t.next()Out[5]:2In[6]:t.next()Out[6]:3In[7]:t.next()Out[7]:4In[8]:t.next()
系統(tǒng) 2019-09-27 17:48:18 1967
推薦系統(tǒng)中經(jīng)常需要處理類(lèi)似user_id,item_id,rating這樣的數(shù)據(jù),其實(shí)就是數(shù)學(xué)里面的稀疏矩陣,scipy中提供了sparse模塊來(lái)解決這個(gè)問(wèn)題,但scipy.sparse有很多問(wèn)題不太合用:1、不能很好的同時(shí)支持data[i,...]、data[...,j]、data[i,j]快速切片;2、由于數(shù)據(jù)保存在內(nèi)存中,不能很好的支持海量數(shù)據(jù)處理。要支持data[i,...]、data[...,j]的快速切片,需要i或者j的數(shù)據(jù)集中存儲(chǔ);同時(shí),為了
系統(tǒng) 2019-09-27 17:48:09 1967
下面僅以多線程為例:首先需要明確幾個(gè)概念:知識(shí)點(diǎn)一:當(dāng)一個(gè)進(jìn)程啟動(dòng)之后,會(huì)默認(rèn)產(chǎn)生一個(gè)主線程,因?yàn)榫€程是程序執(zhí)行流的最小單元,當(dāng)設(shè)置多線程時(shí),主線程會(huì)創(chuàng)建多個(gè)子線程,在python中,默認(rèn)情況下(其實(shí)就是setDaemon(False)),主線程執(zhí)行完自己的任務(wù)以后,就退出了,此時(shí)子線程會(huì)繼續(xù)執(zhí)行自己的任務(wù),直到自己的任務(wù)結(jié)束,例子見(jiàn)下面一。知識(shí)點(diǎn)二:當(dāng)我們使用setDaemon(True)方法,設(shè)置子線程為守護(hù)線程時(shí),主線程一旦執(zhí)行結(jié)束,則全部線程全部被
系統(tǒng) 2019-09-27 17:47:34 1967
這學(xué)期學(xué)校開(kāi)設(shè)了Python課程,并且采用了與以往不同的教學(xué)方式。以前上C語(yǔ)言和Java語(yǔ)言課程時(shí),我們要么是在教室里上課,要么在機(jī)房里上課。教學(xué)方式比較固定,也沒(méi)有想到會(huì)有什么樣的變化。但這學(xué)期不一樣,這學(xué)期的Python課程與其他的課程在教學(xué)方式上發(fā)生了很大的變化,這學(xué)期的Python課程不再局限于傳統(tǒng)的上課方式,還用到了網(wǎng)絡(luò),在上課時(shí)不再是一味地聽(tīng)老師講,老師在講課的同時(shí),我們學(xué)生在下面可以同時(shí)練習(xí),遇到不懂的話,也可以及時(shí)的反應(yīng)。我覺(jué)得這種方式挺好
系統(tǒng) 2019-09-27 17:46:58 1967