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