面向對象程序設計的基本步驟:python
一、根據功能、抽象業務對象。ide
二、構建獨立的業務模塊,利用封裝、繼承、多態等抽象業務需求。函數
三、編寫程序。測試
四、以對象爲單位輸入參數、開展測試。spa
global關鍵字用來在函數或其餘局部做用域中使用全局變量。 >>> a = 10 >>> def foo(): ... a = 100 ... >>> a 10 >>> foo() >>> a 10 >>> def glo(): ... global a ... a = 100 ... >>> a 10 >>> glo() >>> a 100
#類名一般是大寫開頭的單詞 #object表示從哪一個類繼承下來,一般,若是沒有合適的繼承類,就使用object類,這是全部類最終都會繼承的類。 class People(object): #定義基本屬性 name = '' age = 0 #定義私有屬性 #兩個下劃線開頭,聲明該屬性爲私有,不能在類地外部被使用或直接訪問。 __weight =0 #定義構造方法 #__init__方法的第一個參數永遠是self,表示建立的實例自己,建立實例的時候,必須傳入與__init__方法匹配的參數, def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w #數據封裝,也就是定義函數,稱爲類的方法 def speak(self): print("%s 說:我%d 歲。"%(self.name,self.age)) #類的繼承 #須要注意圓括號中父類的順序,如果父類中有相同的方法名,而在子類使用時未指定,python從左至右搜索 即方法在子類中未找到時,從左到右查找父類中是否包含方法。 #單繼承 class Student(People): grade = '' def __init__(self,n,a,w,g): People.__init__(self,n,a,w) self.grade = g def speak(self): print("%s 說:我 %d 歲 ,在讀%s 年級"%(self.name,self.age,self.grade)) #另外一個類,多重繼承以前的準備 class Speaker(): topic = '' name = '' def __init__(self,n,t): self.name = n self.topic = t def speak(self): print("我叫%s ,我是一個演說家,個人主題是:%s"%(self.name,self.topic)) #多重繼承 class Sample(Student,Speaker): a = '' def __init__(self,n,a,w,g,t): Student.__init__(self,n,a,w,g) Speaker.__init__(self,n,t) #建立實例 test = Sample("Tim",25,80,4,"python") #調用實例的方法 #方法名同,默認調用的是在括號中排前地父類的方法 test.speak()
類的專有方法:設計
__init__ : 構造函數,在生成對象時調用對象
__del__ : 析構函數,釋放對象時使用繼承
__repr__ : 打印,轉換索引
__setitem__ : 按照索引賦值作用域
__getitem__: 按照索引獲取值
__len__: 得到長度
__cmp__: 比較運算
__call__: 函數調用
__add__: 加運算
__sub__: 減運算
__mul__: 乘運算
__div__: 除運算
__mod__: 求餘運算
__pow__: 稱方