類的繼承
#!/usr/bin/python
# -*- coding: UTF-8 -*-
classEmployee:
'所有員工的基類'
empCount=0
def__init__(self,name,salary):
self.name=name
self.salary=salary
Employee.empCount+=1
defdisplayCount(self):
print"Total Employee %d"%Employee.empCount
defdisplayEmployee(self):
print"Name : ",self.name,", Salary: ",self.salary
"創(chuàng)建Employee類的第一個對象"
emp1=Employee("Zara",2000)
1.empCount變量是一個類變量,它的值將在這個類的所有實例之間共享。你可以在內(nèi)部類或外部類使用Employee.empCount訪問
2.self代表類的實例,self在定義類的方法時是必須有的,雖然在調(diào)用時不必傳入相應(yīng)的參數(shù)。
3. __init__()方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法
定義子類
classChild(Parent):#定義子類
括號中為父類名。
支持方法重寫,運算符重載
def__add__(self,other):
#運算符重載
returnVector(self.a+other.a,self.b+other.b)
v1=Vector(2,10)
v2=Vector(5,-2)
printv1+v2結(jié)果輸出為:Vector(7,8)
Python內(nèi)置類屬性
·__dict__ :類的屬性(包含一個字典,由類的數(shù)據(jù)屬性組成)
·__doc__ :類的文檔字符串
·__name__:類名
·__module__:類定義所在的模塊(類的全名是'__main__.className',如果類位于一個導入模塊mymod中,那么className.__module__等于mymod)
·__bases__ :類的所有父類構(gòu)成元素(包含了一個由所有父類組成的元組)
Python對象回收(垃圾銷毀)
引用計數(shù)器:當對象被創(chuàng)建時,就創(chuàng)建了一個引用計數(shù),當這個對象不再需要時,也就是說,這個對象的引用計數(shù)變?yōu)?時,它被垃圾回收。但是回收不是"立即"的,由解釋器在適當?shù)臅r機,將垃圾對象占用的內(nèi)存空間回收。
手動銷毀對象:
del pt1
類的屬性與方法
私有屬性或方法:(__name)兩個下劃線開頭,聲明該屬性或方法為私有,不能在類的外部被使用或直接訪問。
類的方法:在類的內(nèi)部,使用def關(guān)鍵字可以為類定義一個方法,與一般函數(shù)定義不同,類方法必須包含參數(shù)self,且為第一個參數(shù)