亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

教女朋友學Python(5)——快到碗里來

2019-11-14 11:57:29
字體:
來源:轉載
供稿:網友
我本來不會Python,一邊學一邊試圖以最簡單方式來解釋編程和Python,讓各位理工男可以拿去教自己的女朋友。上期我們把網址準備好了:url = "http://cn.bing.com/images/search?q=" + name + "&first=" + str(first) +"&count=" + str(count)其中,name、first、count是三個變量,接下來我們就應該從這個網址獲取數據啦,還記得當name="胡歌",first=1,count=28時候得到的數據展示出來的網頁有多丑嘛?現在你們就要自己來獲取啦!然而,我知道此時的你肯定是一臉懵逼,WTF?我就知道一個網址,哪知道怎么獲取數據?不用擔心,Python已經為你準備好了,整個獲取過程只需要兩行代碼,不過在我貼出代碼之前,先說一點網頁的基本知識,方便理解那兩行代碼。我:我們是怎么訪問網頁的呢?小白:O(∩_∩)O用360瀏覽器。我:。。。。那用瀏覽器第一步呢?小白:╮(╯▽╰)╭打開瀏覽器?我:然后呢?小白:o(* ̄▽ ̄*)o百度想要的東西我:然后呢?小白:打開搜索的結果。我想大概大部分人都是這么用瀏覽器的吧,其實這里面隱藏了一個信息,就是,小白先得點擊搜索,才會出搜索結果。小白要先點擊搜索結果,才會跳轉到某個網頁。再抽象一點點,就是我先要操作一下瀏覽器,讓瀏覽器去干了什么,瀏覽器才會給我想要的結果。那么瀏覽器干了什么呢?瀏覽器去跟網頁說,快到碗里來!具體過程如下:小白:喂,瀏覽器,按這個電話(網址)給我叫個姑娘(網頁)回來!瀏覽器:喂,服務器么。服務器:蘑菇,你哪路?什么價?(黑話接頭,為了安全,服務器很多時候都需要驗證)瀏覽器:哈!想啥來啥,想吃奶來了媽媽,想娘家的人,孩子他舅舅來了?。ㄒ驳糜煤谠捊樱蝗徊蛔屵M)服務器:大爺您要什么樣的姑娘隨便挑!瀏覽器:就要8號了,過來吧。網頁:打了個車(網絡傳輸),走了大半夜(網速慢),到小白家。瀏覽器:小白君,美人給您帶回來了。小白一看:這特么是誰呀,長得跟鬼一樣?(就是我們在第三期里說的那些數據)瀏覽器:小白君別急,現在掃黃打非嚴,為了怕被抓到,易容了的,我來捯飭捯飭(把數據渲染成網頁)。小白:噢噢噢,這么一看,真是天香國色呀o(* ̄3 ̄)oo(* ̄3 ̄)o。網頁:o(* ̄3 ̄)oo(* ̄3 ̄)o。嗯,訪問網站的過程,跟這個差不多,首先,用戶給瀏覽器一個網址,讓瀏覽器去找服務器要數據,服務器通過之后把數據傳給瀏覽器,瀏覽器將數據渲染成網頁,呈現給用戶?,F在,我們不需要呈現成網頁,只需要從數據里面得到照片就可以了,所以我們只需要通過url獲取數據就OK了。那么再看下面的兩行代碼就容易了:
response = request.urlopen(url)data = response.read()了解了上述過程,來理解這個代碼是不是就很簡單了。首先,我們通過request網址url創建了一個變量response,然后從response中讀取數據。那么現問題來了,request我們可沒有定義過,從哪冒出來的?他是什么東西?后面跟個.urlopen()是什么意思?response是我們自己定義的一個變量,后來也跟了一個.read(),這又是什么鬼,是不是所有的變量都可以跟呢?除了第一個問題,全部不解釋!為什么?因為現在就解釋了,以后就沒得寫了。而且只有兩行代碼,看著眼熟就行,現在先記著,以后說到相關的知識點了解釋。request從哪來的呢?從urllib模塊里面來的!urllib從哪來的?python自帶的!模塊是什么?隨著項目越來越大,代碼越來越多,就需要分組進行維護管理,這就是模塊的來由,在python中,一個.py文件就是一個模塊!怎么使用別人寫的模塊?引用進來,比如我們要引用urllib整個模塊,就需要在文件開頭加入import urllib;如果只引用urllib模塊中的requset這一部分,就在文件開頭加from urllib import request。好了,現在輪到我提問題了,假設,我要同時獲取三個不同url的數據,怎么辦?答案:
response1 = request.urlopen(url1)data1 = response.read()response2 = request.urlopen(url2)data2 = response.read()response3 = request.urlopen(url3)data 3= response.read()輕松自在,可以實現,滿分!如果阿里的程序員靠代碼行數來算工資,你能寫到馬云爸爸破產!但是這特么也太蠢了。還記得我們上期說的函數么,f(x)=3x + 111。當x有很多的時候,使用f(x1),f(x2)。。。f(xn)比使用3x1+111。。。。3xn+111是不是清爽很多。所以到了編程里面,會把一段需要經常重復的代碼封裝在一起,構成一個函數,比如我們的那一段代碼,是為了獲得某個網址的數據(HTML)的,我們就取一個名字叫
getHTML(url)={response = request.urlopen(url)data = response.read()}以后url2,url3就用getHTML(url2),getHTML(url3)就可以了。但是,這么寫,是數學里面的做法,在python里面,是這樣的:一個個來說:def,固定的,不變。函數名:跟變量名一樣,隨便自己取,不過,最好是能表明他的功能的。參數:用括號闊起來,函數可以沒有參數,也可以有多個參數。至于python里面的默認參數,可變參數,關鍵字參數,命名關鍵字參數傻的,本文全部不講,為什么,因為本項目用不著。冒號:固定的,英文字符,不要打成了中文字符的冒號。縮進:還記得上期說過,python里面用縮進表示代碼之間的邏輯關系?,F在看就比較明顯了吧,下面的函數體和返回值都是這個函數的內容,所以縮在他的羽翼之下。至于縮進多少,看心情,沒有規定,但是同一邏輯層級的代碼縮進一定要一樣。不過習慣上是一個tab鍵。函數體:就是我們要執行的任務了返回值:比如上文說的數學上的函數,a=f(3),編程的函數也是一樣,只不過用return標記。想返回data,就return data。如果返回值為None,可以簡寫為return。

所以我們的代碼就改版啦:

from urllib import requestname = "胡歌"first = 1count = 28url = "http://cn.bing.com/images/search?q=" +name + "&first=" + str(first) +"&count=" + str(count)def getHTML(url):    response = request.urlopen(url)    data = response.read()    return datahtml = getHTML(url)

好了,函數已經講完了。但是有沒有同學發現,我這期一點動圖都沒有,從頭到尾沒有運行?有沒有勤學苦練的同學自己運行了?哈哈,因為運行不成功的,為什么呢?下期繼續。

歡迎關注我的微信公眾號獲取最新文章:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩高清有码在线| 98精品在线视频| 国产精品人成电影在线观看| 国模吧一区二区三区| 疯狂蹂躏欧美一区二区精品| 日本精品久久中文字幕佐佐木| 91中文在线观看| 美女精品视频一区| 美女久久久久久久| 国产精品第一区| 国产精品福利久久久| 亚洲欧洲中文天堂| 欧洲成人免费视频| 久久久久久久影院| 精品无人区太爽高潮在线播放| 免费99精品国产自在在线| 亚洲欧美日韩网| 国模视频一区二区三区| 奇米4444一区二区三区| 国产亚洲精品91在线| 国产精品国产福利国产秒拍| 国产精品第七影院| 日韩精品视频在线观看网址| 国产精品久久婷婷六月丁香| 欧美激情按摩在线| 欧美激情一级精品国产| 精品亚洲永久免费精品| 欧美精品成人在线| 尤物九九久久国产精品的分类| 69久久夜色精品国产7777| 亚洲福利视频网| 日韩在线观看免费全| 国产精品专区h在线观看| 中文字幕av一区中文字幕天堂| 日韩av高清不卡| 欧美激情精品久久久久久大尺度| 爽爽爽爽爽爽爽成人免费观看| 久久久在线免费观看| 久久99精品久久久久久青青91| 亚洲影院污污.| 日本亚洲欧洲色| 色婷婷**av毛片一区| 清纯唯美亚洲激情| 精品av在线播放| 国产欧美va欧美va香蕉在线| 色99之美女主播在线视频| 久久久久久av| 欧美一级片在线播放| 狠狠做深爱婷婷久久综合一区| 在线激情影院一区| 欧美黑人巨大精品一区二区| 欧美老少配视频| 乱亲女秽乱长久久久| 精品久久久久久中文字幕| 亚洲三级黄色在线观看| 成人免费网站在线观看| 久久久久久久香蕉网| 日韩大陆欧美高清视频区| 欧美自拍视频在线观看| 国产精品三级久久久久久电影| 在线播放亚洲激情| 国产亚洲成av人片在线观看桃| 91在线观看免费| 国产精品久久久久免费a∨| 最近中文字幕日韩精品| 在线播放国产一区二区三区| 亚洲国产欧美一区二区丝袜黑人| 精品人伦一区二区三区蜜桃网站| 日韩美女视频中文字幕| 91网站免费观看| 51精品国产黑色丝袜高跟鞋| 久久久久久久一区二区三区| 欧美激情国产日韩精品一区18| 国产欧美中文字幕| 国产剧情日韩欧美| 国产成人av在线| 欧美午夜视频一区二区| 最近日韩中文字幕中文| 成人国产在线视频| 91高清视频免费| 亚洲精品v欧美精品v日韩精品| 亚洲网站在线观看| 成人情趣片在线观看免费| 国产香蕉97碰碰久久人人| 国产精品jvid在线观看蜜臀| 欧美激情按摩在线| 国产精品1区2区在线观看| 欧美另类老肥妇| 日韩av在线导航| 精品免费在线观看| 在线观看国产欧美| 91亚洲国产成人久久精品网站| 日韩av中文字幕在线| 国产精品久久一区主播| 久久精品99国产精品酒店日本| 日韩有码片在线观看| 欧美日韩在线视频一区| 日韩av一区二区在线观看| 国外色69视频在线观看| 97在线观看免费| www国产精品视频| 日韩网站免费观看| 国产精品天天狠天天看| 高潮白浆女日韩av免费看| 日韩电视剧在线观看免费网站| 成人黄色短视频在线观看| 九九视频这里只有精品| 欧美最猛性xxxxx(亚洲精品)| 尤物九九久久国产精品的特点| 国语自产精品视频在线看抢先版图片| 不卡av在线网站| 日本国产欧美一区二区三区| 国精产品一区一区三区有限在线| 中日韩午夜理伦电影免费| 欧美成人国产va精品日本一级| 国产精品久久久久久久久久久久久| 欧美日韩在线观看视频| 美女撒尿一区二区三区| 亚洲人成啪啪网站| 国产www精品| 国产午夜精品视频免费不卡69堂| 成人免费视频网址| 91精品国产高清久久久久久91| 亚洲精品在线不卡| 亚洲欧美国产日韩中文字幕| 91av视频在线观看| 亚洲bt天天射| 精品国产精品三级精品av网址| 日韩成人在线观看| 中文字幕日韩专区| 欧美国产高跟鞋裸体秀xxxhd| 永久免费看mv网站入口亚洲| 韩国三级电影久久久久久| 国产精品久久一区主播| 色视频www在线播放国产成人| 亚洲精品一区二区在线| 精品日本美女福利在线观看| 黑人巨大精品欧美一区二区| 亚洲欧美在线看| 亚洲国产女人aaa毛片在线| 国产精品2018| 日韩精品亚洲精品| 欧美午夜激情小视频| 日韩在线观看高清| 国产综合在线视频| 亚洲国产成人久久| 欧美激情综合亚洲一二区| 国产精品久久久av| 精品少妇一区二区30p| 亚洲午夜精品久久久久久性色| 97av在线视频免费播放| 中日韩美女免费视频网址在线观看| 一本色道久久综合亚洲精品小说| 亚洲品质视频自拍网| 一本大道久久加勒比香蕉| 欧美色videos| 国产91ⅴ在线精品免费观看| 清纯唯美日韩制服另类| 国产欧美日韩91| 日韩在线免费高清视频| 日韩中文在线中文网三级| 国产日韩在线亚洲字幕中文| 国产精品视频专区| 国产狼人综合免费视频|