看python社區(qū)大媽組織的內(nèi)容里邊有一篇講python內(nèi)存優(yōu)化的,用到了__slots__。然后查了一下,總結(jié)一下。感覺(jué)非常有用python類在進(jìn)行實(shí)例化的時(shí)候,會(huì)有一個(gè)__dict__屬性,里邊有可用的實(shí)例屬性名和值。聲明__slots__后,實(shí)例就只會(huì)含有__slots__里有的屬性名。#coding:utf-8classA(object):x=1def__init__(self):self.y=2a=A()printa.__dict__print(
系統(tǒng) 2019-09-27 17:52:11 1950
經(jīng)典的漢諾塔問(wèn)題:這里我們可以利用遞歸的思想去做,遞歸中重要的三步,我們逐條來(lái)實(shí)現(xiàn):1、函數(shù)+分支結(jié)構(gòu)2、遞歸鏈條3、遞歸基例函數(shù)+分支結(jié)構(gòu):defhanoi(n,start,end,mid):globalcountif:else:這里我們可以定義一個(gè)函數(shù),里面的參數(shù)有:一共有n個(gè)圓盤,從start柱子移到end柱子,中間柱子為mid。這里定義一個(gè)全局變量來(lái)計(jì)算移動(dòng)的步驟數(shù),若為局部變量,會(huì)在函數(shù)內(nèi)部不斷初始化,所以需要定義全局變量。遞歸基例:ifn==1
系統(tǒng) 2019-09-27 17:52:07 1950
閱讀更多操作列表#列表循環(huán)for循環(huán)(for**in**)1.注意使用for循環(huán)時(shí)print前要縮進(jìn)cats=["alice","clear","dell",'moon']forcatincats:print(cat)#可在for循環(huán)中執(zhí)行更多操作#2.不使用for循環(huán)時(shí),切記print能縮進(jìn)cats=["alice","clear","dell",'moon']forcatincats:print(cat)print("theyaresocute")#在
系統(tǒng) 2019-09-27 17:51:30 1950
不管是啥語(yǔ)言都離不開加減乘除這些算法,但是在Python里面你知道這些符號(hào)代表什么運(yùn)算嗎?“/”這個(gè)是除法運(yùn)算,那么這個(gè)“//”呢?“*”這個(gè)是乘法運(yùn)算,那么這個(gè)“**”呢?下面來(lái)一一介紹下。“//”運(yùn)算除法運(yùn)算符是“/”,這個(gè)人人皆知道,但是這個(gè)二元運(yùn)算符“/”求出來(lái)的結(jié)果都是取決于操作數(shù)本身的,比如:復(fù)制代碼代碼如下:20/3620/3.06.66666666666666720.0/36.66666666666666720.0/3.06.6666666
系統(tǒng) 2019-09-27 17:51:01 1950
pythonredis連接有序集合去重的代碼如下所述:#-*-coding:utf-8-*-importredisfromconstantimportredis_ip,redis_db,redis_pw,redis_zset_namepool=redis.ConnectionPool(host=redis_ip,db=redis_db,password=redis_pw)#pool=redis.ConnectionPool(db=6,password=re
系統(tǒng) 2019-09-27 17:51:00 1950
第1題:python下多線程的限制以及多進(jìn)程中傳遞參數(shù)的方式?python多線程有個(gè)全局解釋器鎖(globalinterpreterlock),簡(jiǎn)稱GIL,這個(gè)GIL并不是python的特性,他是只在Cpython解釋器里引入的一個(gè)概念,而在其他的語(yǔ)言編寫的解釋器里就沒(méi)有這個(gè)GIL例如:Jython。這個(gè)鎖的意思是任一時(shí)間只能有一個(gè)線程運(yùn)用解釋器,跟單cpu跑多個(gè)程序一個(gè)意思,我們都是輪著用的,這叫“并發(fā)”,不是“并行”。為什么會(huì)有GIL?多核CPU的出現(xiàn)
系統(tǒng) 2019-09-27 17:50:37 1950
Python3快速入門(二)——Python3基礎(chǔ)一、Python3語(yǔ)法基礎(chǔ)1、Python3編碼默認(rèn)情況下,Python源碼文件以UTF-8編碼,所有字符串都是unicode字符串,可以為Python源碼文件指定不同的編碼,如下:#-*-coding:utf-8-*-2、標(biāo)識(shí)符Python語(yǔ)言的標(biāo)識(shí)符規(guī)則如下:A、第一個(gè)字符必須是字母表中字母或下劃線。B、標(biāo)識(shí)符的其它的部分由字母、數(shù)字和下劃線組成。C、標(biāo)識(shí)符對(duì)大小寫敏感。在Python3中,允許非ASC
系統(tǒng) 2019-09-27 17:50:28 1950
微線程領(lǐng)域(至少在Python中)一直都是StacklessPython才能涉及的特殊增強(qiáng)部分。關(guān)于Stackless的話題以及最近它經(jīng)歷的變化,可能本身就值得開辟一個(gè)專欄了。但其中簡(jiǎn)單的道理就是,在“新的Stackless”下,延續(xù)(continuation)顯然是不合時(shí)宜的,但微線程還是這個(gè)項(xiàng)目存在的理由。這一點(diǎn)很復(fù)雜……剛開始,我們還是先來(lái)回顧一些內(nèi)容。那么,什么是微線程呢?微線程基本上可以說(shuō)是只需要很少的內(nèi)部資源就可以運(yùn)行的進(jìn)程?D并且是在Pyth
系統(tǒng) 2019-09-27 17:49:59 1950
在開發(fā)一些需要網(wǎng)絡(luò)通信的應(yīng)用中,經(jīng)常會(huì)用到各種網(wǎng)絡(luò)協(xié)議進(jìn)行通信,博主在開發(fā)實(shí)驗(yàn)室的機(jī)器人的時(shí)候就遇到了需要把機(jī)器人上采集到的圖片傳回服務(wù)器進(jìn)行處理識(shí)別,在python下的實(shí)現(xiàn)方式如下(只貼出了關(guān)鍵代碼)服務(wù)器端LOCAL_IP='192.168.100.22'#本機(jī)在局域網(wǎng)中的地址,或者寫127.0.0.1PORT=2567#指定一個(gè)端口defserver():sock=socket.socket(socket.AF_INET,socket.SOCK_ST
系統(tǒng) 2019-09-27 17:49:31 1950
Python入門之軟件開發(fā)規(guī)范1、軟件開發(fā)規(guī)范--分文件(1)為什么使用軟件開發(fā)規(guī)范:當(dāng)幾百行--大幾萬(wàn)行代碼存在于一個(gè)py文件中時(shí)存在的問(wèn)題:不便于管理修改可讀性差加載速度慢這時(shí)可以使用軟件開發(fā)規(guī)范,規(guī)范項(xiàng)目目錄結(jié)構(gòu),規(guī)范代碼,遵循PEP8規(guī)范,能夠更加清晰,合理的開發(fā)。(2)軟件開發(fā)規(guī)范--約定俗稱<1>bin--啟動(dòng)文件(啟動(dòng)接口)start.py項(xiàng)目啟動(dòng)<2>lib--公共文件(大家需要的功能)commom.py放置一些常用的公共組件函數(shù),像是服務(wù)
系統(tǒng) 2019-09-27 17:49:27 1950