Python 類與物件的使用
執行結果如下:# Copyright (c)2018, 東北大學軟體學院學生 # All rightsreserved # 檔名稱:test.py # 作 者:孔雲 #問題描述:Python類與函式 class Animals(): #語法規定,在類裡定義函式,函式第一個引數必須是self def breathe(self): print (" breathing") def move(self): print ("moving") def eat (self): print ("eating food") # Animals子類:Mammals class Mammals(Animals): def breastfeed(self): print ("feeding young") #Mammals子類:Cats class Cats(Mammals): #__init__函式,類的物件例項化時自執行,用於給新物件賦初值。 def __init__(self, spots): self.spots = spots def catch_mouse(self): print ("catch mouse") def left_foot_forward(self): print ("left foot forward") def left_foot_backward(self): print ("left foot backward") def dance(self): #類裡定義函式,如果呼叫自身和父類的函式與變數,須用self.引導,寫為self.函式名或self.變數名 self.left_foot_forward() self.left_foot_backward() self.left_foot_forward() self.left_foot_backward() kitty=Cats(10) #物件呼叫類裡的變數,要用物件.變數名 print (kitty.spots) #物件呼叫父類或自身類裡的函式,要用物件.函式名 kitty.dance() kitty.breastfeed() kitty.move()
註釋:
Python 中雖然沒有訪問控制的關鍵字,例如 private、 protected 等等。但是,在 Python 編碼中,有一些約定來進行訪問控制。 單下劃線、 雙下劃線、 頭尾雙下劃線說明如下: _foo: 以單下劃線開頭的表示的是 protected 型別的變數,即保護型別只能允許其本身與子類進行訪問,不能用於 from module import * __foo: 雙下劃線的表示的是私有型別(private)的變數, 只能是允許這個類本身進行訪問了。 __foo__: 頭尾雙下劃線定義的是特列方法,類似 __init__() 之類的。 |