Python慣例“慣例”這個(gè)詞指的是“習(xí)慣的做法,常規(guī)的辦法,一貫的做法”,與這個(gè)詞對應(yīng)的英文單詞叫“idiom”。由于Python跟其他很多編程語言在語法和使用上還是有比較顯著的差別,因此作為一個(gè)Python開發(fā)者如果不能掌握這些慣例,就無法寫出“Pythonic”的代碼。下面我們總結(jié)了一些在Python開發(fā)中的慣用的代碼。讓代碼既可以被導(dǎo)入又可以被執(zhí)行。if__name__=='__main__':用下面的方式判斷邏輯“真”或“假”。ifx:ifnot
系統(tǒng) 2019-09-27 17:57:29 1754
Python2.x與Python3.x除法運(yùn)算的區(qū)別strong@foreverstrong:~$pythonPython2.7.12(default,Dec42017,14:50:18)[GCC5.4.020160609]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>fps=15.6>>>fps15.6>>>>>>int(fps+1)/35>>>>>>(f
系統(tǒng) 2019-09-27 17:57:27 1754
較小文件處理方法:importhashlibimportosdefget_md5_01(file_path):md5=Noneifos.path.isfile(file_path):f=open(file_path,'rb')md5_obj=hashlib.md5()md5_obj.update(f.read())hash_code=md5_obj.hexdigest()f.close()md5=str(hash_code).lower()returnmd
系統(tǒng) 2019-09-27 17:57:00 1754
如下所示:#返回一個(gè)列表中第二大的數(shù)defsecond(ln):max=0s={}foriinrange(len(ln)):flag=0forjinrange(len(ln)):ifln[i]>=ln[j]andi!=j:flag=flag+1s[i]=flagifflag>max:max=flagprint(s)foriins:ifs[i]==max-1:breakprint(ln[i])second([1,2,7,4,5,6,8,5,3,3,9,9,1
系統(tǒng) 2019-09-27 17:56:57 1754
相關(guān)模塊osos.pathshutilpathlib(Newinversion3.4)基本操作判斷文件(夾)是否存在。os.path.exists(pathname)#newpathlib.Path(pathname).exists()判斷路徑名是否為文件。os.path.isfile(pathname)#newpathlib.Path(pathname).is_file()判斷路徑名是否為目錄。os.path.isdir(pathname)#newpat
系統(tǒng) 2019-09-27 17:56:34 1754
Python字符串(string)詳解及代碼Python的字符串可以使用單引號('),雙引號("),三引號(''');三引號(''')里面,可以添加單引號和雙引號,也可以通過轉(zhuǎn)義序列(\)添加;字符串放在一起自動(dòng)連接成為一個(gè)字符串;字符串前面添加限定詞R或r,表示是自然字符串(naturestring),可以忽略里面的格式限制;在物理行末尾添加"\",可以連接下一個(gè)物理行;括號,方括號,大括號也可以一定限度的擴(kuò)充物理行;具體參見代碼注釋;代碼如下:#-*-
系統(tǒng) 2019-09-27 17:56:15 1754
本文實(shí)例講述了python實(shí)現(xiàn)根據(jù)圖標(biāo)提取分類應(yīng)用程序,分享給大家供大家參考。具體方法如下:#!/usr/bin/python#-*-coding:utf-8-*-importImageimportwin32uiimportwin32guidefmake_regalur_image(img,size=(256,256)):returnimg.resize(size).convert('RGB')defsplit_image(img,part_size=(6
系統(tǒng) 2019-09-27 17:56:14 1754
一個(gè)簡易的TCP端口掃描器,使用python3實(shí)現(xiàn)。需求:掃描目標(biāo)網(wǎng)站開放哪些端口號,將所有開放的端口號輸出。分析:使用socket連接,如果連接成功,認(rèn)為端口開放,如果連接失敗,認(rèn)為端口關(guān)閉(有可能端口開放但連接失敗,這里簡單認(rèn)為端口不開放)使用到的庫:socket,threading過程:先定義一個(gè)函數(shù),對給定的(ip,port)進(jìn)行掃描,看其是否能連接成功。deftcpPortScan(ip,port,openPort):sock=socket.so
系統(tǒng) 2019-09-27 17:55:41 1754
最近在用python寫接口的測試程序,期間用到解析字典獲取某個(gè)key的value,由于多個(gè)接口返回的字典格式不是固定的并存在多層嵌套的情況。在字典的方法中也沒有找到可直接達(dá)到目的的方法(也可能是我對字典的方法了解的不深的緣故),于是自己寫了個(gè)程序。下面是代碼#coding:utf-8importtypes#獲取字典中的objkey對應(yīng)的值,適用于字典嵌套#dict:字典#objkey:目標(biāo)key#default:找不到時(shí)返回的默認(rèn)值defdict_get(
系統(tǒng) 2019-09-27 17:55:32 1754
最近新需求來了,要給系統(tǒng)增加幾個(gè)資源權(quán)限。盡量減少代碼的改動(dòng)和程序的復(fù)雜程度。所以還是使用裝飾器比較科學(xué)之前用了一些登錄驗(yàn)證的現(xiàn)成裝飾器模塊。然后仿寫一些用戶管理部分的權(quán)限裝飾器。比如下面這種defpermission_required(permission):defdecorator(f):@wraps(f)defdecorated_function(*args,**kwargs):ifnotcurrent_user.can(permission):ab
系統(tǒng) 2019-09-27 17:55:30 1754