本文實(shí)例講述了Python學(xué)習(xí)筆記之自定義函數(shù)用法。分享給大家供大家參考,具體如下:函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。Python提供了許多內(nèi)建函數(shù),比如print()等。也可以創(chuàng)建用戶自定義函數(shù)。函數(shù)定義函數(shù)定義的簡單規(guī)則:函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號(),任何傳入?yún)?shù)和自變量必須放在圓括號中間函數(shù)內(nèi)容以冒號起始,并且縮進(jìn)若有返回值,Return[expression]結(jié)束函數(shù);不帶return表達(dá)式相當(dāng)于返回Non
系統(tǒng) 2019-09-27 17:55:25 1952
之前想爬取一些淘寶的數(shù)據(jù),后來發(fā)現(xiàn)需要登錄,找了很多的資料,有個(gè)使用request的sessions加上cookie來登錄的,cookie的獲取在登錄后使用開發(fā)者工具可以找到。不過這個(gè)登錄后獲得的網(wǎng)頁的代碼是靜態(tài)的,獲取動(dòng)態(tài)網(wǎng)頁還得另尋他法,一般需要的數(shù)據(jù)可以在網(wǎng)頁的源碼中得到,但是你知道的,有些動(dòng)態(tài)加載的就不是那么簡單了,而且我發(fā)現(xiàn)這樣獲得的源碼中,有些想要獲取的數(shù)據(jù)的格式是經(jīng)過改動(dòng)的,比如我要某個(gè)商品的具體鏈接,發(fā)現(xiàn)并不能直接使用。總體而言,這是一次失
系統(tǒng) 2019-09-27 17:54:47 1952
【摘要】在前一章中,我們已經(jīng)成功嘗試分析Ajax來抓取相關(guān)數(shù)據(jù),但是并不是所有頁面都可以通過分析Ajax來完成抓取。比如,淘寶,它的整個(gè)頁面數(shù)據(jù)確實(shí)也是通過Ajax獲取的,但是這些Ajax接口參數(shù)比較復(fù)雜,可能會(huì)包含加密密鑰等,所以如果想自己構(gòu)造Ajax參數(shù),還是比較困難的。對于這種頁面,最方便快捷的抓取方法就是通過Selenium。本節(jié)中,我們就用Selenium來模擬瀏覽器操作,抓取淘寶的商品信息,并將結(jié)果保存到MongoDB。1.本節(jié)目標(biāo)本節(jié)中,我們
系統(tǒng) 2019-09-27 17:54:29 1952
戳這里~小結(jié)Python的函數(shù)具有非常靈活的參數(shù)形態(tài),既可以實(shí)現(xiàn)簡單的調(diào)用,又可以傳入非常復(fù)雜的參數(shù)。默認(rèn)參數(shù)一定要用不可變對象,如果是可變對象,程序運(yùn)行時(shí)會(huì)有邏輯錯(cuò)誤!要注意定義可變參數(shù)和關(guān)鍵字參數(shù)的語法:*args是可變參數(shù),args接收的是一個(gè)tuple;**kw是關(guān)鍵字參數(shù),kw接收的是一個(gè)dict。以及調(diào)用函數(shù)時(shí)如何傳入可變參數(shù)和關(guān)鍵字參數(shù)的語法:可變參數(shù)既可以直接傳入:func(1,2,3),又可以先組裝list或tuple,再通過*args傳
系統(tǒng) 2019-09-27 17:54:27 1952
range([start],[end],[long])描述:根據(jù)range里的參數(shù)生成指定范圍指定步長的一個(gè)序列參數(shù):[start]——指定范圍的左邊界,可取到[end]——指定范圍的右邊界,不可取到[long]——步長,若無步長,默認(rèn)為1返回值:列表實(shí)例:>>>range(0,6,2)[0,2,4]>>>range(5)[0,1,2,3,4]xrange()描述:用法與range完全相同,生成的不是數(shù)組,而是一個(gè)生成器實(shí)例:>>>xrange(0,6,2
系統(tǒng) 2019-09-27 17:54:01 1952
閱讀目錄一多態(tài)多態(tài)指的是一類事物有多種形態(tài)動(dòng)物有多種形態(tài):人,狗,豬importabcclassAnimal(metaclass=abc.ABCMeta):#同一類事物:動(dòng)物@abc.abstractmethoddeftalk(self):passclassPeople(Animal):#動(dòng)物的形態(tài)之一:人deftalk(self):print('sayhello')classDog(Animal):#動(dòng)物的形態(tài)之二:狗deftalk(self):prin
系統(tǒng) 2019-09-27 17:53:09 1952
進(jìn)程是操作系統(tǒng)分配內(nèi)存的最小單位Python中進(jìn)程用到的庫multiprocessing簡單的多進(jìn)程示例frommultiprocessingimportProcessfromtimeimporttime,sleepfromrandomimportrandintdefdownload_task(task_name):print(task_name+'開始下載')time=randint(1,5)sleep(time)print(task_name+f'下載
系統(tǒng) 2019-09-27 17:53:03 1952
作者:HelloGitHub-ProdesireHelloGitHub的《講解開源項(xiàng)目》系列,項(xiàng)目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們?nèi)媪私饬薬rgparse的能力,相信不少小伙伴們都已經(jīng)摩拳擦掌,想要打造一個(gè)屬于自己的命令行工具。本文將以我們?nèi)粘9ぷ髦凶畛R姷膅it命令為例,講解如何使用argparse庫來實(shí)現(xiàn)一個(gè)真正可用的命令行程序。本系列文章默認(rèn)
系統(tǒng) 2019-09-27 17:52:35 1952
如下所示:#-*-coding:utf-8-*-importrequestsimportthreadingimporttimeclasspostrequests():def__init__(self):self.url='請求網(wǎng)址'self.files={'unknown_image':open('劉詩詩.jpg','rb')}defpost(self):try:r=requests.post(self.url,files=self.files)print
系統(tǒng) 2019-09-27 17:52:33 1952
Python語言與Perl,C和Java等語言有許多相似之處,也有一定的差異性,以下是Python語言獲取文件后綴名和文件名的方法:#Python獲取文件后綴名的方法importos.pathdeffile_extension(path):returnos.path.splitext(path)[1]printfile_extension('/py/a.py')輸出:.py#Python獲取目錄和文件名importos.pathdeffile_extens
系統(tǒng) 2019-09-27 17:52:22 1952