類和對象
類: ?用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
方法:類中定義的函數。
類變量 :類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。
數據成員 :類變量或者實例變量用于處理類及其實例對象的相關的數據。
方法重寫 :如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
局部變量 :定義在方法中的變量,只作用于當前實例的類。
實例變量 :在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。
繼承 :即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關系(例圖,Dog是一個Animal)。
實例化 :創建一個類的實例,類的具體對象。
對象 :通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。
和其它編程語言相比,Python 在盡可能不增加新的語法和語義的情況下加入了類機制。Python中的類提供了面向對象編程的所有基本功能:類的繼承機制允許多個基類,派生類可以覆蓋基類中的任何方法,方法中可以調用基類中的同名方法。對象可以包含任意數量和類型的數據。
正則表達式,語法規則。
re模塊
- re.match函數 re.match(pattern, string, flags=0)?
-
通配符
- 匹配任意除換行符“\n”外的字符;
- *表示匹配前一個字符0次或無限次;
- +或 后跟?表示非貪婪匹配,即盡可能少的匹配,如 ?重復任意次,但盡可能少重復;
- .*? 表示匹配任意數量的重復,但是在能使整個匹配成功的前提下使用最少的重復。
-
re.search函數
re.search 掃描整個字符串并返回第一個成功的匹配。格式如下:
re.search(pattern, string, flags=0)
-
re.match()與re.search()的區別 re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。 實例:
In: line = "Cats are smarter than dogs"
# .* 表示任意匹配除換行符(\n、\r)之外的任何單個或多個字符
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)之外的任何單個或多個字符
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模塊學習,參考
http請求?
- 安裝requests模塊并導入
import requests
- GET請求
import requests
r = requests.get('https://www.douban.com/')
print(r.status_code)
print(r.text)
- POST請求
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 設置請求超時時間
r = requests.get(url, cookies=cs, timeout=2.5)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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