一篇文章帶你瞭解Python中的類
1、類的定義
創建一個rectangle.py文件,並在該文件中定義一個Rectangle類。在該類中,__init__表示構造方法。其中,self參數是每一個類定義方法中的第一個參數(這裡也可以是其它變量名,但是Python常用self這個變量名)。當創建一個對象的時候,每一個方法中的self參數都指向並引用這個對象,相當於一個指針。在該類中,構造方法表示該類有_width和_height兩個屬性(也稱作實例變量),並對它們賦初值1。
__str__方法表示用字符串的方式表示這個對象,方便打印並顯示出來,相當於Java中的類重寫toString方法。其中,__init__和__str__是類提供的基本方法。
class Rectangle: # 構造方法 def __init__(self, width=1, height=1): self._width = width self._height = height # 狀態表示方法 def __str__(self): return ("Width: " + str(self._width) + "\nHeight: " + str(self._height)) # 賦值方法 def setWidth(self, width): self._width = width def setHeight(self, height): self._height = height # 取值方法 def getWidth(self): return self._width def getHeight(self): return self._height # 其它方法 def area(self): return self._width * self._height
2、創建對象
新建一個Test.py文件,調用rectangle模塊中的Rectangle的類。
import rectangle as rec r = rec.Rectangle(4, 5) print(r) print() r = rec.Rectangle() print(r) print() r = rec.Rectangle(3) print(r)
接著輸出結果:
打印Rectangle類的對象直接調用瞭其中的__str__方法。上圖展示瞭初始化Rectangle對象時,構造方法中參數的三種不同方式。
創建一個對象有以下兩種形式,其偽代碼表示為:
1)objectName = ClassName(arg1,arg2,…)
2)objectName = moduleName.ClassName(arg1,arg2,…)
變量名objectName表示的變量指向該對象類型。
3、繼承
如果往父類中增加屬性,子類必須先包含刻畫父類屬性的初始化方法,然後增加子類的新屬性。偽代碼如下:
super().__ init __ (parentParameter1,…,parentParameterN)
新建一個square.py文件:
import rectangle as rec class Square(rec.Rectangle): def __init__(self, square, width=1, height=1): super().__init__(width, height) self._square = square def __str__(self): return ("正方形邊長為:" + str(self._width) + "\n面積為:" + str(self._square)) def isSquare(self): if self._square == self.getWidth() * self.getWidth(): return True else: return False s = Square(1) print(s) print(s.isSquare()) s = Square(2) print(s) print(s.isSquare())
輸出:
以上內容參考自機械工業出版社《Python程序設計》~
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!