溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中的類的定義和用法

發(fā)布時(shí)間:2021-09-13 21:12:13 來(lái)源:億速云 閱讀:194 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Python中的類的定義和用法”,在日常操作中,相信很多人在Python中的類的定義和用法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Python中的類的定義和用法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

目錄
  • 1、類的定義

  • 2、創(chuàng)建對(duì)象

  • 3、繼承


1、類的定義

創(chuàng)建一個(gè)rectangle.py文件,并在該文件中定義一個(gè)Rectangle類。在該類中,__init__表示構(gòu)造方法。其中,self參數(shù)是每一個(gè)類定義方法中的第一個(gè)參數(shù)(這里也可以是其它變量名,但是Python常用self這個(gè)變量名)。當(dāng)創(chuàng)建一個(gè)對(duì)象的時(shí)候,每一個(gè)方法中的self參數(shù)都指向并引用這個(gè)對(duì)象,相當(dāng)于一個(gè)指針。在該類中,構(gòu)造方法表示該類有_width和_height兩個(gè)屬性(也稱作實(shí)例變量),并對(duì)它們賦初值1。

__str__方法表示用字符串的方式表示這個(gè)對(duì)象,方便打印并顯示出來(lái),相當(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)建對(duì)象

新建一個(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é)果:

Python中的類的定義和用法

打印Rectangle類的對(duì)象直接調(diào)用了其中的__str__方法。上圖展示了初始化Rectangle對(duì)象時(shí),構(gòu)造方法中參數(shù)的三種不同方式。

創(chuàng)建一個(gè)對(duì)象有以下兩種形式,其偽代碼表示為:

1)objectName = ClassName(arg1,arg2,…)

2)objectName = moduleName.ClassName(arg1,arg2,…)

變量名objectName表示的變量指向該對(duì)象類型。

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 ("正方形邊長(zhǎng)為:" + 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中的類的定義和用法

到此,關(guān)于“Python中的類的定義和用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI