Python 面向?qū)ο?br>
創(chuàng)建類:用class語(yǔ)句來創(chuàng)建一個(gè)新類锻弓,class之后為類的名稱并以冒號(hào)結(jié)尾
class? ClassName:
????????'類的幫助信息'????#類文檔字符串
????????class_suite????????#類體
self代表類的實(shí)例,而非類
類的方法與普通的函數(shù)只有一個(gè)特別的區(qū)別——它們必須有一個(gè)額外的第一個(gè)參數(shù)名稱, 按照慣例它的名稱是 self柏腻。
class????Test:????
????def? ?prt(self):? ?print(self)? ?print(self.__class__)? ? ?t=Test()? ????t.prt()
創(chuàng)建實(shí)例對(duì)象
"創(chuàng)建 Employee 類的第一個(gè)對(duì)象"
emp1 = Employee("Zara", 2000)
"創(chuàng)建 Employee 類的第二個(gè)對(duì)象"
emp2 = Employee("Manni", 5000)
訪問屬性:
emp1.displayEmployee()
emp2.displayEmployee()
print ????" Total? Employee? %d"? ?%? Employee.empCount
Python內(nèi)置類屬性
dict: 類的屬性(包含一個(gè)字典,由類的數(shù)據(jù)屬性組成)
doc:類的文檔字符串
name: 類名
module: 類定義所在的模塊(類的全名是'main.className'症虑,如果類位于一個(gè)導(dǎo)入模塊mymod中跟束,那么className.module等于 mymod)
bases: 類的所有父類構(gòu)成元素(包含了一個(gè)由所有父類組成的元組)
python對(duì)象銷毀(垃圾回收)
a=40????????# 創(chuàng)建對(duì)象????<40>
b=a ???????? # 增加引用,????<40>的計(jì)數(shù)
c=[b]????????# 增加引用.? ? ? <40>的計(jì)數(shù)
del ????a ???? # 減少引用? ? ?<40>的計(jì)數(shù)
b=100????????# 減少引用? ? <40>的計(jì)數(shù)
c[0]=-1????????# 減少引用????<40>的計(jì)數(shù)
類的繼承
class派生類名(基類名)????...
基礎(chǔ)重載方法
init ( self [,args...] )構(gòu)造函數(shù) 簡(jiǎn)單的調(diào)用方法:obj = className(args)
del( self )析構(gòu)方法, 刪除一個(gè)對(duì)象 簡(jiǎn)單的調(diào)用方法 :del obj
repr( self )轉(zhuǎn)化為供解釋器讀取的形式 簡(jiǎn)單的調(diào)用方法 :repr(obj)
str( self )用于將值轉(zhuǎn)化為適于人閱讀的形式 簡(jiǎn)單的調(diào)用方法 :str(obj)
cmp ( self, x )對(duì)象比較 簡(jiǎn)單的調(diào)用方法 :cmp(obj, x)