類:
類變數:定義在類中且在函式體之外。在整個例項化物件中是公用的。不作為例項變數使用
資料成員:
方法重寫:
例項變數:定義在方法中的變數,只作用於self當前例項的類,也就是函式內部定義的變數。
繼承:
例項化:
方法:類中定義的函式
物件:物件包括兩個資料成員(類變數和例項變數)
建立類
class employee:
'基類'
empcount=0 #類變數,類中所有的函式都可以訪問
def __init__(self ,name,salary): #self當前例項
self.name=name
self.salary=salary
employee.empcount+=1
def displaycount(self):
print "total employee %d" %employee.empcount
def displayemployee(self):
print "name:",self.name ,",salary:" self.salary
self代表類的例項self在定義類的方法時是必須有的,雖然在呼叫的時不必傳入相應的引數。
類的方法與普通函式只有乙個特別的區別?
他們必須有乙個額外的第乙個引數 名稱self。self代表的是類的例項,代表當前物件的位址,而self.class 則指向類。self不是關鍵字,可以換成任意其他的
建立例項物件
「建立employee類的第乙個物件」
emp1=employee("zara",2000) #emp1=employee() 類的例項化,emp1即稱為物件
「建立employee類的第二個物件」
emp2=employee("maani",4000) # 每次建立類的例項都會呼叫__init__ 函式
訪問屬性
emp1.displayemployee() #通過點號 . 來訪問物件的屬性
employee.empcount #通過類名訪問 類變數
empcount變數是類變數,他的值在這個類的所有例項之間共享。
可以在類內或者類外通過employee.empcount訪問
新增,刪除和修改類的屬性
**僅針對於建立的物件,並不影響其對應的類**
emp1.age=7 #新增類的屬性age
emp1.age=8 #修改類的age屬性
del emp1.age #刪除age屬性
也可以使用函式的方式來訪問屬性
getattr(obj ,name)
hasattr(obj,name) 檢查是否存在乙個屬性
setattr(obj,name ,value)
delattr(obj,name)
建構函式
方法__int__()被稱為建構函式或初始化方法,當建立這個類的例項時就會呼叫該方法。
析構函式
析構函式 __del __ ,在物件銷毀時被呼叫,
def __del__(self):
class_name=self.__class__.__name__
print class_name, "銷毀"
python內建類屬性
__dict__ #包括類的所有屬性組成
__doc__
__name__
__module__
__bases__
類中的變數:單下劃線,雙下劃線,頭尾雙下劃線說明
__ foo__ :定義的是特殊方法,一般是系統定義的名字,類似 __init __
_foo :是protected型別的變數只允許其本身與子類進行訪問,不能用於form module imort *
__foo :表示private私有變數,只允許這個類本身進行訪問。
繼承語法:
class 派生類名 (基類名):
#如果基類名為多個,則為多重繼承
繼承的特點:
在繼承中基類的建構函式不會被自動呼叫,它需要在其派生類的建構函式中親自專門呼叫。
在呼叫基類的方法時,需要加上基類的類名字首,且需要帶上self引數變數。區別在於類中呼叫普通函式時並不需要帶上self引數。
python總是首先查詢到對應型別的方法,如果它不能在派生類中找到對應的方法,它才開始到基類中逐個查詢,
使用issubclass()檢查乙個類是否是另乙個類的子類;isinstance(obj,class)檢查obj是否是class或者class子類的例項
重寫: 後續補充
python物件導向學習 python物件導向學習
物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...
python物件導向總結 Python物件導向總結
python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...
python登入物件導向 python 物件導向
一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...