PythonSocket模塊中包含一些有用IP轉(zhuǎn)換函數(shù),說(shuō)明如下:socket.ntohl(x)//類似于C語(yǔ)言的ntohl(x)把32位正整數(shù)從網(wǎng)絡(luò)序轉(zhuǎn)換成主機(jī)字節(jié)序。socket.ntohs(x)//類似于C語(yǔ)言的ntohs(x)把16位正整數(shù)從網(wǎng)絡(luò)序轉(zhuǎn)換成主機(jī)字節(jié)序。socket.htonl(x)//類似于C語(yǔ)言的htonl(x)把32位正整數(shù)從主機(jī)字節(jié)序轉(zhuǎn)換成網(wǎng)絡(luò)序。socket.htons(x)//類似于C語(yǔ)言的htons(x)把16位正整數(shù)從主
系統(tǒng) 2019-09-27 17:46:35 1762
1.字典鍵-值對(duì)中,值元素的便捷創(chuàng)建增減主要是利用collections中的defaultdict普通復(fù)雜過(guò)程: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
系統(tǒng) 2019-09-27 17:46:20 1762
#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此時(shí)生成的大頂堆,滿足每個(gè)根節(jié)點(diǎn)為子樹(shù)中最大,因此,之后只需要對(duì)最頂?shù)淖訕?shù)進(jìn)行調(diào)整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust
系統(tǒng) 2019-09-27 17:45:50 1762
閉包(closure)是函數(shù)式編程的重要的語(yǔ)法結(jié)構(gòu)。函數(shù)式編程是一種編程范式(而面向過(guò)程編程和面向?qū)ο缶幊桃捕际蔷幊谭妒?。在面向過(guò)程編程中,我們見(jiàn)到過(guò)函數(shù)(function);在面向?qū)ο缶幊讨校覀円?jiàn)過(guò)對(duì)象(object)。函數(shù)和對(duì)象的根本目的是以某種邏輯方式組織代碼,并提高代碼的可重復(fù)使用性(reusability)。閉包也是一種組織代碼的結(jié)構(gòu),它同樣提高了代碼的可重復(fù)使用性。不同的語(yǔ)言實(shí)現(xiàn)閉包的方式不同。Python以函數(shù)對(duì)象為基礎(chǔ),為閉包這一語(yǔ)法結(jié)
系統(tǒng) 2019-09-27 17:45:45 1762
importrequestsimportjson#爬蟲(chóng)原理模擬瀏覽器獲取請(qǐng)求數(shù)據(jù)#點(diǎn)擊播放連接#url="https://www.ximalaya.com/revision/play/album?albumId=297790&pageNum=1&sort=1&pageSize=30"url="https://www.ximalaya.com/revision/play/album?albumId=333001&pageNum=1&sort=1&pageSi
系統(tǒng) 2019-09-27 17:45:43 1762
前言:前面我們介紹了簡(jiǎn)單的介紹了函數(shù)和函數(shù)的參數(shù),今天我們來(lái)說(shuō)一下Python中函數(shù)的返回值。函數(shù)的返回值:函數(shù)運(yùn)算的結(jié)果,需要進(jìn)一步的操作時(shí),給一個(gè)返回值return用來(lái)返回函數(shù)的結(jié)果,如果沒(méi)有返回值,默認(rèn)為None,python中可以間接返回多個(gè)值,也可以返回一個(gè)元組,程序在運(yùn)行的時(shí)候,一旦遇到return,函數(shù)執(zhí)行結(jié)束,后面的代碼不會(huì)執(zhí)行。defmypow(x,y=2):res=x**yprint(res)returnresprint('python
系統(tǒng) 2019-09-27 17:45:42 1762
一.安裝python31.下載python源碼包官網(wǎng)網(wǎng)址:https://www.python.org/downloads/我的版本下載地址:wgethttps://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz2.編譯安裝python3.6的步驟2.1安裝python前的庫(kù)環(huán)境,非常重要yuminstall-ygccpatchlibffi-develpython-develzlib-develbzi
系統(tǒng) 2019-09-27 17:45:41 1762
C語(yǔ)言中三目運(yùn)算符復(fù)制代碼代碼如下:expression?expr1:expr2;//expression為真則取表達(dá)式expr1的值,否則取expr2的值python三目實(shí)現(xiàn)方法:(1)expr=判斷表達(dá)式andexpr1orexpr2判斷表達(dá)式為真,此時(shí)如果expr1為真則expr=expr1,為假則變成Falseorexpr2,expr=expr2.判斷表達(dá)式為假,則演變成Falseorexpr2,此時(shí)expr=expr2.只要表達(dá)式expr1,ex
系統(tǒng) 2019-09-27 17:45:34 1762
背景:有一個(gè)爬蟲(chóng)服務(wù),需要定時(shí)從公開(kāi)網(wǎng)站上拉取一些數(shù)據(jù),為了避免被識(shí)別為爬蟲(chóng)(防爬蟲(chóng)的識(shí)別需要根據(jù)很多特征,時(shí)間僅僅是其中一個(gè)維度),需要在指定的時(shí)間內(nèi),隨機(jī)生成一個(gè)時(shí)間爬取腳本是python寫(xiě)的,直接上代碼...importloggingimporttracebackfromdatetimeimportdatetimefromapscheduler.schedulers.backgroundimportBackgroundSchedulerschedul
系統(tǒng) 2019-09-27 17:45:32 1762
Python實(shí)現(xiàn)文件的全備份和差異備份之前有寫(xiě)利用md5方式來(lái)做差異備份,但是這種md5方式來(lái)寫(xiě)存在以下問(wèn)題:md5sum獲取有些軟連接的MD5值存在問(wèn)題不支持對(duì)空目錄進(jìn)行備份,因?yàn)閙d5sum無(wú)法獲取空目錄的md5值權(quán)限的修改md5sum無(wú)法判斷解決方案:利用文件的mtimectimemtime(Modifiedtime)是在寫(xiě)入文件時(shí)隨文件內(nèi)容的更改而更改的ctime(Createtime)是在寫(xiě)入文件、更改所有者、權(quán)限或鏈接設(shè)置時(shí)隨Inode的內(nèi)容更
系統(tǒng) 2019-09-27 17:45:28 1762