類和對(duì)象
類: ?用來描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象是類的實(shí)例。
方法:類中定義的函數(shù)。
類變量 :類變量在整個(gè)實(shí)例化的對(duì)象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。
數(shù)據(jù)成員 :類變量或者實(shí)例變量用于處理類及其實(shí)例對(duì)象的相關(guān)的數(shù)據(jù)。
方法重寫 :如果從父類繼承的方法不能滿足子類的需求,可以對(duì)其進(jìn)行改寫,這個(gè)過程叫方法的覆蓋(override),也稱為方法的重寫。
局部變量 :定義在方法中的變量,只作用于當(dāng)前實(shí)例的類。
實(shí)例變量 :在類的聲明中,屬性是用變量來表示的。這種變量就稱為實(shí)例變量,是在類聲明的內(nèi)部但是在類的其他成員方法之外聲明的。
繼承 :即一個(gè)派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個(gè)派生類的對(duì)象作為一個(gè)基類對(duì)象對(duì)待。例如,有這樣一個(gè)設(shè)計(jì):一個(gè)Dog類型的對(duì)象派生自Animal類,這是模擬"是一個(gè)(is-a)"關(guān)系(例圖,Dog是一個(gè)Animal)。
實(shí)例化 :創(chuàng)建一個(gè)類的實(shí)例,類的具體對(duì)象。
對(duì)象 :通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對(duì)象包括兩個(gè)數(shù)據(jù)成員(類變量和實(shí)例變量)和方法。
和其它編程語言相比,Python 在盡可能不增加新的語法和語義的情況下加入了類機(jī)制。Python中的類提供了面向?qū)ο缶幊痰乃谢竟δ埽侯惖睦^承機(jī)制允許多個(gè)基類,派生類可以覆蓋基類中的任何方法,方法中可以調(diào)用基類中的同名方法。對(duì)象可以包含任意數(shù)量和類型的數(shù)據(jù)。
正則表達(dá)式,語法規(guī)則。
re模塊
- re.match函數(shù) re.match(pattern, string, flags=0)?
-
通配符
- 匹配任意除換行符“\n”外的字符;
- *表示匹配前一個(gè)字符0次或無限次;
- +或 后跟?表示非貪婪匹配,即盡可能少的匹配,如 ?重復(fù)任意次,但盡可能少重復(fù);
- .*? 表示匹配任意數(shù)量的重復(fù),但是在能使整個(gè)匹配成功的前提下使用最少的重復(fù)。
-
re.search函數(shù)
re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。格式如下:
re.search(pattern, string, flags=0)
-
re.match()與re.search()的區(qū)別 re.match只匹配字符串的開始,如果字符串開始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回None;而re.search匹配整個(gè)字符串,直到找到一個(gè)匹配。 實(shí)例:
In: line = "Cats are smarter than dogs"
# .* 表示任意匹配除換行符(\n、\r)之外的任何單個(gè)或多個(gè)字符
matchObj = re.match( r'are (.*?) than (.*?)', line, re.M|re.I)
if matchObj:
print("matchObj.group() : ", matchObj.group())
print("matchObj.group(1) : ", matchObj.group(1))
print("matchObj.group(2) : ", matchObj.group(2))
else:
print("No match!!")
Out:No match!!
In: line = "Cats are smarter than dogs"
# .* 表示任意匹配除換行符(\n、\r)之外的任何單個(gè)或多個(gè)字符
matchObj = re.search( r'are (.*?) than (.*?)', line, re.M|re.I)
if matchObj:
print("matchObj.group() : ", matchObj.group())
print("matchObj.group(1) : ", matchObj.group(1))
print("matchObj.group(2) : ", matchObj.group(2))
else:
print("No match!!")
Out:matchObj.group() : are smarter than dogs
matchObj.group(1) : smarter
matchObj.group(2) : dogs
datetime模塊學(xué)習(xí),參考
http請(qǐng)求?
- 安裝requests模塊并導(dǎo)入
import requests
- GET請(qǐng)求
import requests
r = requests.get('https://www.douban.com/')
print(r.status_code)
print(r.text)
- POST請(qǐng)求
r = requests.post('https://accounts.douban.com/login', data={'form_email': 'abc@example.com', 'form_password': '123456'})
print(r.text)
- cookie傳遞
cs = {'token': '12345', 'status': 'working'}
# timeout 設(shè)置請(qǐng)求超時(shí)時(shí)間
r = requests.get(url, cookies=cs, timeout=2.5)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
