1.字典鍵-值對中,值元素的便捷創建增減主要是利用collections中的defaultdict普通復雜過程:pairs=[('a',1),('a',2),('b',2)]d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)或d={}#普通字典d.setdefault('a',[]).append(1)d.setdefault('a',[]).append(2)d.setdef
系統 2019-09-27 17:46:19 1612
很多時候可能需要在一個圖中畫出多條函數圖像,但是可能y軸的物理含義不一樣,或是數值范圍相差較大,此時就需要雙y軸。matplotlib和seaborn都可以畫雙y軸圖像。一個例子:importseabornassnsimportmatplotlib.pyplotasplt#ax1forKDE,ax2forCDFf,ax1=plt.subplots()ax1.grid(True)#ax1.set_ylim(0,1)ax1.set_ylabel('KDE')a
系統 2019-09-27 17:46:19 1612
用于生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,Python生成隨機數print(random.randint(12,20))#生成的隨機數n:12<=n<=20print(random.randint(20,20))#結果永遠是20#print(random.randint(20,10))#該語句是錯誤的。print(random.randrange(1,100,2))#返回[1,100]之間的奇數19print(random.ranran
系統 2019-09-27 17:46:15 1612
當在python中遍歷一個序列時,我們通常采用如下的方法:foriteminsequence:process(item)如果要取到某個item的位置,可以這樣寫:forindexinrange(len(sequence)):process(sequence[index])另一個比較好的方式是使用python內建的enumerate函數:enumerate(sequence,start=0)上述函數中,sequence是一個可迭代的對象,可以是列表,字典,文
系統 2019-09-27 17:46:14 1612
多態多態指的是一類事物有多種形態importabcclassAnimal(metaclass=abc.ABCMeta):#同一類事物:動物@abc.abstractmethoddeftalk(self):passclassPeople(Animal):#動物的形態之一:人deftalk(self):print('sayhello')classDog(Animal):#動物的形態之二:狗deftalk(self):print('saywangwang')cl
系統 2019-09-27 17:46:13 1612
利用twitter/bootstrap,項目的基礎模板算是順利搞定。接下來開始處理用戶中心。用戶中心主要包括用戶登陸、注冊以及頭像等個人信息維護。此前,用戶的注冊管理我一直使用django-registration。只是這個APP有些不思進取,09年發布了0.8alpha版后就一直沒什么動靜。這次決定嘗試另外一個用戶模塊組件django-userena。相比django-registration,django-userena的功能要完善的多。除基礎的登陸注
系統 2019-09-27 17:46:12 1612
本文介紹的關于Python時間日期處理,日期時間處理在實際應用場景中無處不在,所以這也成了編程語言中必不可少的模塊,Python也不例外。但是,你知道在Python中有多少個相關的模塊嗎?datetime、time、calendar、dateutil、pytz等等。你知道有多少種數據類型嗎?date、time、datetime、tzinfo、timedelta等等。有天我遇到這樣的需求,想獲取當前月的前一個月是幾月,假設本月是2018年1月,那么上個月就是
系統 2019-09-27 17:46:11 1612
最近學習python的時候發現python2的版本和python3的版本不兼容,python2使用的版本只是開發者還在維護,python3的版本性能會更好,使用的人也更多,所以還是選擇將python升級到3.x版本。本人使用的是macos的系統,系統版本是10.13.6,首先查看一下系統自帶的python版本。~python-V顯示python的版本是Python2.7.10下面使用升級操作~brewupdatepython...最近學習python的時候
系統 2019-09-27 17:46:10 1612
django使用app機制來實現組件的重用,充分的利用已有的app可以極大的簡化開發工作。目前django下的app雖然還不夠豐富,卻也還是有部分不錯的。django-tagging就是一個不錯的app。現在tag的應用非常廣泛,tag基本上成了各網站的必備項目之一,django-tagging就是一個提供tag功能的app。django-tagging提供的功能非常豐富,使用起來卻十分簡單。下面我就介紹一些常用的用法,讓大家對該app有個基本的了解,更詳
系統 2019-09-27 17:46:09 1612
Python對文件的操作還算是方便的,只需要包含os模塊進來,使用相關函數即可實現目錄的創建。主要涉及到三個函數:1、os.path.exists(path)判斷一個目錄是否存在2、os.makedirs(path)多層創建目錄3、os.mkdir(path)創建目錄直接上代碼:復制代碼代碼如下:defmkdir(path):#引入模塊importos#去除首位空格path=path.strip()#去除尾部\符號path=path.rstrip("\\"
系統 2019-09-27 17:46:08 1612
在Python中,語法錯誤可以被Python解釋器發現,但邏輯上錯誤或變量使用錯誤卻不容易發現,如果結果沒有符合預期,則需要調試,一個很好的調試工具:Python自帶的pdb模塊。pdb是Python自帶的調試模塊。使用pdb模塊可以為腳本設置斷點、單步執行、查看變量值等。pdb可以用命令行參數的方式啟動,也可以使用import將其導入后再使用。復制代碼代碼如下:>>>dir(pdb)['Pdb','Repr','Restart','TESTCMD',..
系統 2019-09-27 17:46:04 1612
很多時候我們需要過濾掉標點符號等特殊字符,網上雖然有一堆的方法,但是都沒有找到一個非常滿意的,有些過濾不了中文的標點符號,有些過濾不了英文的標點符號,有些過濾不全。最后通過查看正則表達式文檔,發現一個高效的辦法,一行代碼就能搞定:defreplace_all_blank(value):"""去除value中的所有非字母內容,包括標點符號、空格、換行、下劃線等:paramvalue:需要處理的內容:return:返回處理后的內容"""#\W表示匹配非數字字母
系統 2019-09-27 17:46:03 1612
在做接口測試的時候,我們經常會遇到一種情況就是要對接口的參數進行各種可能的校驗,手動修改很麻煩,尤其是那些接口參數有幾十個甚至更多的,有沒有一種方法可以批量的對指定參數做生成處理呢。答案是肯定的!python的jinja2模板庫可以很好的滿足我們的需求,通過維護一個原始數據模板,將我們想要動態生成的變量模板化,就可以實現需求?,F在我們有這樣的一個請求數據{"abc":"123","p2p":"123","smid":"20180807220733939b6
系統 2019-09-27 17:46:03 1612
【XML基本概念介紹】XML指可擴展標記語言(eXtensibleMarkupLanguage)。XML被設計用來傳輸和存儲數據。概念一:復制代碼代碼如下:#foo元素的起始標簽#foo元素的結束標簽#note:每一個起始標簽必須有對應的結束標簽來閉合,也可以寫成概念二:復制代碼代碼如下:#元素可以嵌套到任意參次#bar元素為foo元素的子元素#父元素foo的結束標簽概念三:復制代碼代碼如下:#foo元素有個lang的屬性,該屬性值為:EN;對應Pytho
系統 2019-09-27 17:46:02 1612
re.sub功能,比replace強大的替換函數,將正則表達式匹配上的模塊替換成replre.sub(pattern,repl,string,count=0,flags=0)返回最左邊正則表達式限定的被repl代替的字符串,如果正則表達式沒有匹配上,則字符串不做修改。\nisconvertedtoasinglenewlinecharacter,\risconvertedtoacarriagereturn,andsoforth.Unknownescapess
系統 2019-09-27 17:46:01 1612