類和對(duì)象
1.1類(class):用來描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象是類的實(shí)例。類變量:類變量在整個(gè)實(shí)例化的對(duì)象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。實(shí)例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實(shí)例變量,是在類聲明的內(nèi)部但是在類的其他成員方法之外聲明的。在類的內(nèi)部可以用def()方法定義類的方法,類方法必須包含self參數(shù),作為第一個(gè)參數(shù),self代表類的實(shí)例。類可以繼承,多繼承方法可以重寫,調(diào)用父類的函數(shù)為super.()
1.2模塊:通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對(duì)象包括兩個(gè)數(shù)據(jù)成員(類變量和實(shí)例變量)和方法。2.正則表達(dá)式:正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配
正則表達(dá)式
正則表達(dá)式是一個(gè)特殊的字符序列,使用正則表達(dá)式可以很方便地檢查一個(gè)字符串是否與某種模式匹配。例如,判斷一個(gè)字符串是否是合法的Email的方法為:
1.創(chuàng)建一個(gè)匹配Email的正則表達(dá)式:
2.用該正則表達(dá)式去匹配用戶的輸入來判斷是否合法。
在正則表達(dá)式中,如果直接個(gè)誒出字符,就是精確匹配。用“\d”可以匹配一個(gè)數(shù)字,“\w”可以匹配一個(gè)字母或數(shù)字,句點(diǎn)“.”可以匹配任意字符。如:“00\d”可以匹配“007”,但無法匹配“00A”;“\d\d\d”可以匹配“010”;“\w\w\d”可以匹配“py3”;“py.”可以匹配“pyc”、“pyo”、“py!”等等。
要匹配變長(zhǎng)的字符,在正則表達(dá)式中,用*表示任意個(gè)字符(包括0個(gè)),用+表示至少一個(gè)字符,用?表示0個(gè)或1個(gè)字符,用{n}表示n個(gè)字符,用{n,m}表示n-m個(gè)字符:
\d{3}表示匹配3個(gè)數(shù)字,例如’010’
\s可以匹配一個(gè)空格(也包括Tab等空白符),所以\s+表示至少有一個(gè)空格,例如匹配’ ‘,’ '等;
\d{3,8}表示3-8個(gè)數(shù)字,例如’1234567’。
要做更精確地匹配,可以用[]表示范圍,比如:
[0-9a-zA-Z_]可以匹配一個(gè)數(shù)字、字母或者下劃線
[0-9a-zA-Z_]+可以匹配至少由一個(gè)數(shù)字、字母或者下劃線組成的字符串,比如’a100’,‘0_Z’,'Py3000’等
[a-zA-Z_][0-9a-zA-Z_]*可以匹配由字母或下劃線開頭,后接任意個(gè)由一個(gè)數(shù)字、字母或者下劃線組成的字符串,也就是Python合法的變量
[a-zA-Z_][0-9a-zA-Z_]{0, 19}更精確地限制了變量的長(zhǎng)度是1-20個(gè)字符(前面1個(gè)字符+后面最多19個(gè)字符)
re模塊:
re 模塊使 Python 語言擁有全部的正則表達(dá)式功能。
4.datatime模塊:
datetime是Python處理日期和時(shí)間的標(biāo)準(zhǔn)庫。
5.http請(qǐng)求:
在Web應(yīng)用中,服務(wù)器把網(wǎng)頁傳給瀏覽器,實(shí)際上就是把網(wǎng)頁的HTML代碼發(fā)送給瀏覽器,讓瀏覽器顯示出來。而瀏覽器和服務(wù)器之間的傳輸協(xié)議是HTTP,所以:
HTML是一種用來定義網(wǎng)頁的文本,會(huì)HTML,就可以編寫網(wǎng)頁;
HTTP是在網(wǎng)絡(luò)上傳輸HTML的協(xié)議,用于瀏覽器和服務(wù)器的通信。
方法:GET還是POST,GET僅請(qǐng)求資源,POST會(huì)附帶用戶數(shù)據(jù);
路徑:/full/url/path;
域名:由Host頭指定:Host: www.sina.com.cn
以及其他相關(guān)的Header;
如果是POST,那么請(qǐng)求還包括一個(gè)Body,包含用戶數(shù)據(jù)。
步驟2:服務(wù)器向?yàn)g覽器返回HTTP響應(yīng),響應(yīng)包括:
響應(yīng)代碼:200表示成功,3xx表示重定向,4xx表示客戶端發(fā)送的請(qǐng)求有錯(cuò)誤,5xx表示服務(wù)器端處理時(shí)發(fā)生了錯(cuò)誤;
響應(yīng)類型:由Content-Type指定,例如:Content-Type: text/html;charset=utf-8表示響應(yīng)類型是HTML文本,并且編碼是UTF-8,Content-Type: image/jpeg表示響應(yīng)類型是JPEG格式的圖片;
以及其他相關(guān)的Header;
通常服務(wù)器的HTTP響應(yīng)會(huì)攜帶內(nèi)容,也就是有一個(gè)Body,包含響應(yīng)的內(nèi)容,網(wǎng)頁的HTML源碼就在Body中。
步驟3:如果瀏覽器還需要繼續(xù)向服務(wù)器請(qǐng)求其他資源,比如圖片,就再次發(fā)出HTTP請(qǐng)求,重復(fù)步驟1、2。
Web采用的HTTP協(xié)議采用了非常簡(jiǎn)單的請(qǐng)求-響應(yīng)模式,從而大大簡(jiǎn)化了開發(fā)。當(dāng)我們編寫一個(gè)頁面時(shí),我們只需要在HTTP響應(yīng)中把HTML發(fā)送出去,不需要考慮如何附帶圖片、視頻等,瀏覽器如果需要請(qǐng)求圖片和視頻,它會(huì)發(fā)送另一個(gè)HTTP請(qǐng)求,因此,一個(gè)HTTP請(qǐng)求只處理一個(gè)資源。