入門python爬蟲之前的最後一點小掙扎 一

2021-09-25 13:45:42 字數 1618 閱讀 8763

陸陸續續學習python已經快有半年了,期間也一直沒有做什麼有趣好玩的專案,最近在github看到許許多多的爬蟲專案,於是便想來趟趟這坑

1.__init__的用法

主要有兩個作用:物件週期的初始化重要的一步和引數可以有多種形式

每乙個python的類都有乙個超類object

某些時候超類的特殊方法是我們想要的。但是某些特殊方法要我們自己覆蓋

所有類的超類都有乙個預設包含pass的init()方法實現,如果不去實現它,就不會在建立物件後建立例項變數

我們給物件新增屬性,該物件為基類object的子類

class rectangle:

def area(self):

return self.height * self.weight

這個類中有乙個利用兩個屬性返回乙個值的方法

r = rectangle()

r.lengt,r.weught = 3,4

r.area()

這樣我們就不需要在__init__方法中宣告所有屬性,乙個可選屬性其實就是乙個子類,只是沒有正式宣告為子類。

雖然說,乙個init()方法應該讓例項變數顯示,但是如果我們寫成這樣子就不靈活了

if 「x」 in sekf.dict:

或者:try:

self.x

except attributeerror:

這個時候重新考慮api並新增乙個通用的方法或屬性。(重構)

所以我們可以在超類中實現init()

init()的作用是啥

初始化乙個函式,建立物件的例項變數
class card:

definit(self,rank,suit):

self.suit = siu

self,rank = rank

self.hard,self.soft = self._points()

class numbercard(card):

def _points(self):

return int(self.rank),int(self.rank)

class acecard(card):

def _piont(self):

return 1,11這三個子類是card類的變種,兩個例項變數直接由引數設定,通過初始化方法計算

在這個例項當中,我們提取init()方法到超類,這樣在card超類中的通用初始化可以適用於三個子類。

__init__的第乙個引數永遠是self也就是建立的例項本身

main.py檔案與python -m

-m引數用於將乙個模組或者包作為乙個指令碼執行,檔案作為包的入口程式

class類包含類的屬性和類的方法

__init__函式

1.帶有兩個下劃線開頭的函式是宣告該屬性為私有,不能在類的外部被使用

2。init函式支援帶引數的類的初始化,也可以宣告該類的屬性

Python爬蟲入門

今天看了菜鳥教程的python教程,準備做個小作業寫個爬蟲程式。其中主要涉及到基本語法 正規表示式 urllib和re兩個模組。import urllib 載入模組 import re defgethtml url page urllib.urlopen url html page.read ret...

python爬蟲入門

這幾天閒的無聊想做乙個爬蟲來爬取一些 正經 首先選擇用python作為爬蟲的語言。但是沒有接觸過python怎麼辦呢,只能從頭開始學了。python學習位址這個是廖大神寫的乙個python入門,個人感覺寫的非常不錯,在粗略的學習了一遍之後感覺可以開始我的爬蟲之旅了。目標 抓取中妹子的儲存在本地 接下...

python爬蟲入門

初學者要學會基本的爬蟲 先要安裝包requests requests的安裝 開啟這個 在這個 上面有很多 python 的第三方庫檔案,我們按 ctrl f 搜尋很容易找到 requests 如下圖,我們將第乙個資料夾,也就是 requests 資料夾複製到 python 的安裝目錄下的 lib 目...