【Python系列】 7. 類和對(duì)象
01 、類和對(duì)象的概念
對(duì)象:
用來描述客觀事物的一個(gè)實(shí)體,由一組屬性與方法組成
屬性? -? 特征(靜態(tài)的特征)
方法 - 行為(動(dòng)態(tài)的特征)
類:
類是模型(模子),它是對(duì)對(duì)象的抽象
類與對(duì)象的關(guān)系:
? ? ?類是對(duì)象的抽象,對(duì)象是類的實(shí)例
02、應(yīng)用
類的組成:
類的名稱 、 類的屬性 、 類的方法
類的語法:
?class? 類名:
? ? ? ? ? def __init__(self):
? ? ? ? ? ? ? ? ?pass
? ? ? ??
注:
1、類的方法中,互相調(diào)用,及調(diào)用屬性的使用。不能直接寫名稱,需要加上self.名稱
2、__init__(self):
init 方法 ,又稱為構(gòu)造函數(shù):為對(duì)象創(chuàng)建初始化狀態(tài)
此方法,在實(shí)例化類時(shí),程序會(huì)自動(dòng)調(diào)用。這個(gè)方法可以有參數(shù),也可以不要參數(shù),但是必須要有self
3、? self 說明 :
類中的所有函數(shù),都必須有self, 且在第一個(gè)參數(shù)位置
self 的名稱是可變,但是為了見名知義,最好使用默認(rèn)的self
self 的意義:代表實(shí)例化對(duì)象
示例代碼:
# url 地址管理的類
# 專門寫關(guān)于地址的一些方法
class UrlManager(object):
? ? def __init__(self):
? ? ? ? # 未訪問的鏈接
? ? ? ? self.new_urls = set()
? ? ? ? # 已經(jīng)訪問的鏈接
? ? ? ? self.old_urls = set()
? ? #? 添加一個(gè)新的地址
? ? def add_new_url(self,url):
? ? ? ?if url is None :
? ? ? ? ? ?return
? ? ? ?if url not in self.new_urls and url not in self.old_urls:
? ? ? ? ? ? self.new_urls.add(url)
? ? # 添加多個(gè)新地址
? ? def add_new_urls(self, urls):
? ? ? ? if urls is None or len(urls) == 0 :
? ? ? ? ? ? return
? ? ? ? for url in urls:
? ? ? ? ? ? self.add_new_url(url)
? ? # 判斷是否還有新的地址
? ? def has_new_url(self):
? ? ? ? return len(self.new_urls)!=0
? ? # 獲取一個(gè)新地址
? ? def get_new_url(self):
? ? ? ? new_url = self.new_urls.pop()
? ? ? ? self.old_urls.add(new_url)
? ? ? ? return? new_url