從這篇部落格開始進入Python語言的重頭戲----類別、物件等相關知識的語言,Python本來就是物件導向程式的語言。
說到對象,與類別是分不開的,一般我們就是透過類別來實例化一個對象,對像其實就是屬性+方法。以下從類別的定義說起:
1.類別的定義
類別的定義使用關鍵字class
**class 類別名稱(類別名稱的首字母一般大寫):
物件的屬性
物件的方法**
定義好類別之後便可以實例化對象,實例化對象與C++等語言相同。
class Turtle:#类名约定以大写字母开头 #属性 color='green' weight=10 legs=4 shell=True mouth='大嘴' #方法 def climb(self): print("我正在很努力的向前爬...") def run(self): print("我正在飞快的向前跑...") def bite(self): print("咬死你要咬死你...") def eat(self): print("有得吃,真满足") def sleep(self): print("困了,睡了,晚安")#类的实例化tt=Turtle()#生成一个Turtle的实例化对象tt.climb()
2.物件導向的特徵
(1)封裝:即一種資訊隱藏技術,也就是自動隱藏了內部實現的細節,只是滿足了我們的需求。
(2)繼承:子類別自動共享父類別之間資料與方法的機制
繼承的定義就是在類別的定義上多一個(),括號中的是繼承的父類,也叫做基底類別。
class Mylist(list): pass list2=Mylist()list2.append(5)print(list2)
(3)多態性:不同物件對相同的方法回應不同的行動
class A: def fun(self): print("我是小A......")class B: def fun(self): print("我是小B......") a=A() a.fun() b=B() b.fun()
3.類的方法中參數的self是什麼東西
3.類的方法中參數的self是什麼東西 類的方法中的參數約定俗成的方法self寫進第一個參數,self的作用類似C++的指標。
class Ball: def setName(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball() a.setName("球A") b=Ball() b.setName('球B') c=Ball() c.setName('土豆') c.kick()關於Python中的類別就暫時說這麼多,其實除了定義上不同之外,其它的同面向對象的C++、Java是相同的。之後再有會繼續補充。
以上就是Python零基礎入門十三之對象的內容,更多相關內容請關注PHP中文網(www.php.cn)!