本文實例講述了Python面向?qū)ο笾惡蛯ο蟆7窒斫o大家供大家參考,具體如下:
類和對象(1)
對象是什么?
對象=屬性(靜態(tài))+方法(動態(tài));
屬性一般是一個個變量;方法是一個個函數(shù);
#類的屬性 就是 類變量
#實例變量:定義在方法中的變量,只作用于當前實例的類。
例子:
class Turtle:#python 中類名約定以大寫字母開頭 '''關(guān)于類的簡單例子。。。''' #屬性 == 類變量 color ="green" weight="10kg" legs=4 shell=True mouth='big' #方法 def climb(self): self.name = "test" #實例變量:定義在方法中的變量,只作用于當前實例的類。 print("我在很努力爬。") def run(self): print('我在很努力跑。') def bite(self): print('我要要要要要') def sleep(self): print('我要睡覺啦。')#創(chuàng)建一個實例對象也就是類的實例化!tt =Turtle() #類的實例化,也就是創(chuàng)建一個對象,類名約定大寫字母開頭tt.bite() #創(chuàng)建好類后就能調(diào)用類里面的方法叻;tt.sleep()面向?qū)ο蟮奶卣鳎?/p>
oo = Object Oriented(面向?qū)ο螅?/code>
1.封裝(信息隱蔽技術(shù))
python的列表list其實就是一個對象,它提供了很多方法:sort()、append()
封裝后就可以直接調(diào)用里面的方法了!!!
2.繼承
子類自動共享父類之間數(shù)據(jù)和方法的機制。
class MyList(list):#創(chuàng)建一個類繼承l(wèi)ist的所有方法和屬性 pass #相當于一個占位符list1=MyList() #類實例化list1.append(1) #繼承后調(diào)用list的方法append()
3.多態(tài)
不同對象對同一方法響應(yīng)不同行動。就是名字一樣方法不一樣:
>>> class A: def fun(self): print('aaaa')>>>class B (): def fun(self): print('bbb')>>> a=A()>>>b=B()>>>a.fun()aaaa>>>b.fun()bbb類和對象(2)
self是什么?
如果把類當做圖紙,那么由類實例化后的對象就是可以住人的房子。self就相當于房子的門牌號,由self就可以找到對象。
一個類可以生成無數(shù)個對象,對象之間都很相似,因為都是來源與類的方法屬性。當對象方法被調(diào)用時,對象就會將自己作為第一個參數(shù)傳給self,python就是根據(jù)self知道哪一個對象在調(diào)用方法;
>>>class Ball(): def setname(self,name): self.name=name def kick (self): print("我叫%r,誰踢我"%self.name)>>>a=Ball() 實例化生成a對象>>>a.setname('a') 調(diào)用方法設(shè)名為a>>>b=Ball()>>>b.setname('b')>>>c=Ball()>>>c.setname()>>>a.kick () 通過self知道是哪個對象調(diào)用kick方法我叫'a',誰踢我>>>b.kick()我叫'b',誰踢我
新聞熱點
疑難解答