Python是一門弱類型語言,很多從C/C++轉(zhuǎn)過來的朋友起初不是很適應(yīng)。比如,在聲明一個(gè)函數(shù)時(shí),不能指定參數(shù)的類型。用C做類比,那就是所有參數(shù)都是void*類型!void類型強(qiáng)制轉(zhuǎn)換在C++中被廣泛地認(rèn)為是個(gè)壞習(xí)慣,不到萬不得已是不會使用的。Python自然沒有類型強(qiáng)制轉(zhuǎn)換一說了,因?yàn)樗莿?dòng)態(tài)語言。首先,所有對象都從Object繼承而來,其次,它有強(qiáng)大的內(nèi)省,如果調(diào)用某個(gè)不存在的方法會有異常拋出。大多數(shù)情況,我們都不需要做參數(shù)類型栓查,除了一些特殊情況。
系統(tǒng) 2019-09-27 17:47:04 1757
mydict={'Li':['M',7],'Zhang':['E',2],'Wang':['P',3],'Du':['C',2],'Ma':['C',9],'Zhe':['H',7]}res=sorted(mydict.items(),key=lambdax:x[1][1])#根據(jù)value結(jié)構(gòu)[m,n]中n的值進(jìn)行排序print(res)#輸出#[('Zhang',['E',2]),('Du',['C',2]),('Wang',['P',3]),('Li
系統(tǒng) 2019-09-27 17:46:52 1757
發(fā)送端代碼:#!/usr/bin/python#-*-coding:UTF-8-*-importsocketimportstructraw_socket=socket.socket(socket.PF_PACKET,socket.SOCK_RAW,socket.htons(0x1234))raw_socket.bind(("eth0",0))packet=struct.pack("!6s6sH","\xff\xff\xff\xff\xff\xff","\x
系統(tǒng) 2019-09-27 17:46:50 1757
python發(fā)郵件需要掌握兩個(gè)模塊的用法,smtplib和email,這倆模塊是python自帶的,只需import即可使用。smtplib模塊主要負(fù)責(zé)發(fā)送郵件,email模塊主要負(fù)責(zé)構(gòu)造郵件。smtplib模塊主要負(fù)責(zé)發(fā)送郵件:是一個(gè)發(fā)送郵件的動(dòng)作,連接郵箱服務(wù)器,登錄郵箱,發(fā)送郵件(有發(fā)件人,收信人,郵件內(nèi)容)。email模塊主要負(fù)責(zé)構(gòu)造郵件:指的是郵箱頁面顯示的一些構(gòu)造,如發(fā)件人,收件人,主題,正文,附件等。1.smtplib模塊smtplib使用較
系統(tǒng) 2019-09-27 17:46:47 1757
從下面字典中查找出值為數(shù)字的字符串,并顯示出對應(yīng)字典的鍵名和該值dct={'Name':['Alice','1456'],'Age':['aa','5aa','345']}#取出字典的值forvalue1indct.values():#遍歷值列表forvalue2invalue1:#判斷是否為數(shù)字的字符串ifvalue2.isdigit():value=value1key=[kfor(k,v)indct.items()ifv==value]print("鍵
系統(tǒng) 2019-09-27 17:46:31 1757
怎么理解裝飾器,用過或者寫過什么裝飾器嗎?1.1.概述:裝飾器本質(zhì)上是一個(gè)Python函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外功能,裝飾器的返回值也是一個(gè)函數(shù)對象。1.2.詳細(xì)描述:1.importlogging8.ret=oldfunc(*args,**kwargs)9.returnret10.11.返回新函數(shù)12.returnnew_func13.14.15.#通過語法糖使用裝飾器16.@decoratorbr/>2.#定義裝飾器,
系統(tǒng) 2019-09-27 17:46:27 1757
利用twitter/bootstrap,項(xiàng)目的基礎(chǔ)模板算是順利搞定。接下來開始處理用戶中心。用戶中心主要包括用戶登陸、注冊以及頭像等個(gè)人信息維護(hù)。此前,用戶的注冊管理我一直使用django-registration。只是這個(gè)APP有些不思進(jìn)取,09年發(fā)布了0.8alpha版后就一直沒什么動(dòng)靜。這次決定嘗試另外一個(gè)用戶模塊組件django-userena。相比django-registration,django-userena的功能要完善的多。除基礎(chǔ)的登陸注
系統(tǒng) 2019-09-27 17:46:12 1757
花了些工夫?qū)⑺槠W(wǎng)部署到了SAE,中途遇到各類問題。感覺SAE看上去很美,實(shí)際上卻并不是太成熟(至少python版如此)。下面記錄下我遇到的一些主要問題以及解決方法。django版本問題Django1.4都即將發(fā)布了,SAE平臺自帶的SAE版本依舊為1.2x。為使用django1.3版本,你需上傳自己的django。具體做法可參考SAE手冊中的runtime.html#virtualenv日志模塊出錯(cuò)最先遇到的是日至模塊的問題。錯(cuò)誤顯示AdminEmail
系統(tǒng) 2019-09-27 17:46:12 1757
這次只演示了,如何在真實(shí)項(xiàng)目內(nèi)用到BeautifulSoup庫來解析網(wǎng)頁,而新浪的新聞是ajax加載過來的數(shù)據(jù),在這里我們只演示解析部分?jǐn)?shù)據(jù)(具體反扒機(jī)制沒做分析)。代碼地址:https://gitee.com/dwyui/BeautifulSoup_xinlang.git。關(guān)于的爬蟲的博客已經(jīng)越來越多,使用到的技術(shù)也越來越多,后期我還會持續(xù)寫下去,大概從幾個(gè)角度去寫,多線程爬取(提高效率),如何更好的做到爬取數(shù)據(jù)(破解反扒)。用redis管理多線程和代理
系統(tǒng) 2019-09-27 17:45:54 1757
今天來討論一下裝飾器。裝飾器是一個(gè)很著名的設(shè)計(jì)模式,經(jīng)常被用于有切面需求的場景,較為經(jīng)典的有插入日志、性能測試、事務(wù)處理等。裝飾器是解決這類問題的絕佳設(shè)計(jì),有了裝飾器,我們就可以抽離出大量函數(shù)中與函數(shù)功能本身無關(guān)的雷同代碼并繼續(xù)重用。概括的講,裝飾器的作用就是為已經(jīng)存在的對象添加額外的功能。1.裝飾器入門1.1.需求是怎么來的?裝飾器的定義很是抽象,我們來看一個(gè)小例子。復(fù)制代碼代碼如下:deffoo():print'infoo()'foo()這是一個(gè)很無聊
系統(tǒng) 2019-09-27 17:45:33 1757