python網路爬蟲筆記(五)

2022-06-10 08:54:06 字數 2017 閱讀 4926

一、python的類物件的繼承

1、所有的父類都是object類,由於類可以起到模組的作用,因此,可以在建立例項的時候,巴西一些認為必須要繫結的屬性填寫上去,通過定義乙個特殊的方法 __init__,繫結屬性值、,注意 __init__ 方法的第乙個引數永遠是self,表示建立的是例項本身,在__init__方法內部,就可以將各種屬性繫結到self,因為self就是指向建立例項本身。有了__init__方法就不能在建立例項的時候傳入空的引數。而且必須傳入與__intit__方法匹配的引數。但是self不需要再次傳入,python直譯器自己會把例項變數傳進。

2、資料封裝,物件導向程式設計最重要的是資料封裝,在student類中,每個例項都有各自的name 和score這些資料,可以通過函式來訪問這些資料。封裝的另乙個好處就是可以隨時給類新增新的方法,如果讓內部的屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線__,,,例項的變數名如果以__開頭,就表示這是乙個私有變數(private)只可以在內部訪問。

但是注意的一點就是 變數名__xx__這樣雙劃線開頭的並且是結尾的,是特殊變數。特殊變數只可以直接訪問的。

3、判斷乙個物件是否屬於這個類的語句

4、多型的好處就是當我們需要傳入dog cat tortoise 時,實際上任何依賴animal作為引數的函式或者方法都可以不加修飾正常執行,原因就是出於多型,多型的好處,當我們傳入dog cat  等 我們只需要修改animal類就可以,因為dog cat 等就是animal的型別,然後按照animal型別進行操作,由於animal型別有run()方法,因此傳入的型別是animal 類或者子類,就會自動呼叫實際型別的run() 方法,就是多型的。對於靜態語言如果傳入animal型別,則傳入的物件必須是animal型別或者子類,否則無法呼叫run() 方法,對於python動態語言來說,只需要傳入的物件有run()方法就可以啦。

繼承可以父類的所有功能直接拿過來名字類只需要新增自己的特有方法,也可以吧父類不適合的方法覆蓋重寫,

5、型別判斷type(),從這裡可以看出type函式其實返回的就是 class

6、判斷基本資料型別可以直接寫int ,str等,但是如果判斷乙個物件是否是函式就要使用 types模組中定義的常量,

但是對於class繼承關係來說,使用type()就很不方便,我們要判斷class型別可以使用isinstance()函式,isinstance()判斷乙個物件是否是該型別的本身或者位於該型別的父類繼承鏈結上。

能用type()判斷的基本型別也可以會用isinstance()判斷,獲得乙個物件的所有屬性和方法使用dir()函式

順便插一句 pycharm的server註冊鏈結位址測試可行的

對物件進行屬性的測試

python網路爬蟲(五)

資訊標誌的三種形式 xml,json,yaml xml例項 tian cai北京 516002 json例項 yaml例項 firstname tian lastname cai address city 北京 zipcode 516002 xml 最早的通用資訊標記語言,可擴充套件性好,但繁瑣 i...

Python爬蟲學習筆記(五)

使用美麗湯爬取三國演義 定位元素和屬性三種方式 beautifulsoup 正則 xpath soup.tagname soup.find soup.find all soup.select import requests from bs4 import beautifulsoup if name ...

網路爬蟲 python學習筆記

pip install requestsr requests.get url r requests.get url,params none,kwargs request其實只有乙個方法 request 有兩個物件 import request r requests.get print r.statu...