一篇文章帶你了解Python中的類
1、類的定義
創(chuàng)建一個(gè)rectangle.py文件,并在該文件中定義一個(gè)Rectangle類。在該類中,__init__表示構(gòu)造方法。其中,self參數(shù)是每一個(gè)類定義方法中的第一個(gè)參數(shù)(這里也可以是其它變量名,但是Python常用self這個(gè)變量名)。當(dāng)創(chuàng)建一個(gè)對象的時(shí)候,每一個(gè)方法中的self參數(shù)都指向并引用這個(gè)對象,相當(dāng)于一個(gè)指針。在該類中,構(gòu)造方法表示該類有_width和_height兩個(gè)屬性(也稱作實(shí)例變量),并對它們賦初值1。
__str__方法表示用字符串的方式表示這個(gè)對象,方便打印并顯示出來,相當(dāng)于Java中的類重寫toString方法。其中,__init__和__str__是類提供的基本方法。
class Rectangle:
# 構(gòu)造方法
def __init__(self, width=1, height=1):
self._width = width
self._height = height
# 狀態(tài)表示方法
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、創(chuàng)建對象
新建一個(gè)Test.py文件,調(diào)用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)
接著輸出結(jié)果:

打印Rectangle類的對象直接調(diào)用了其中的__str__方法。上圖展示了初始化Rectangle對象時(shí),構(gòu)造方法中參數(shù)的三種不同方式。
創(chuàng)建一個(gè)對象有以下兩種形式,其偽代碼表示為:
1)objectName = ClassName(arg1,arg2,…)
2)objectName = moduleName.ClassName(arg1,arg2,…)
變量名objectName表示的變量指向該對象類型。
3、繼承
如果往父類中增加屬性,子類必須先包含刻畫父類屬性的初始化方法,然后增加子類的新屬性。偽代碼如下:
super().__ init __ (parentParameter1,…,parentParameterN)
新建一個(gè)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())
輸出:

以上內(nèi)容參考自機(jī)械工業(yè)出版社《Python程序設(shè)計(jì)》~
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Numpy中np.max的用法及np.maximum區(qū)別
這篇文章主要介紹了Numpy中np.max的用法及np.maximum區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
使用Python實(shí)現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能
這篇文章主要介紹了使用Python實(shí)現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
Python 實(shí)現(xiàn)任意區(qū)域文字識(shí)別(OCR)操作
這篇文章主要介紹了Python 實(shí)現(xiàn)任意區(qū)域文字識(shí)別(OCR)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python的Matplotlib庫應(yīng)用實(shí)例超詳細(xì)教程
這篇文章主要介紹了Python的Matplotlib庫應(yīng)用的相關(guān)資料,Matplotlib是一個(gè)強(qiáng)大的Python數(shù)據(jù)可視化庫,支持繪制2D和3D圖像,它提供了簡單易用的API,廣泛應(yīng)用于數(shù)據(jù)分析和科學(xué)研究,需要的朋友可以參考下2025-01-01
Pandas merge合并操作的實(shí)現(xiàn)
Pandas的merge()函數(shù)用于合并兩個(gè)DataFrame數(shù)據(jù)表,本文就來介紹一下Pandas merge合并操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12

