首頁技術(shù)文章正文

Python中如何使用構(gòu)造方法定義類?

更新時間:2021-07-02 來源:黑馬程序員 瀏覽量:

IT培訓班

每個類都有一個默認的__init__()方法,如果在定義類時顯式地定義了__init__()方法,則創(chuàng)建對象時Python解釋器會調(diào)用顯式定義的__init__()方法;如果定義類時沒有顯式定義__init__()方法,那么Python解釋器會調(diào)用默認的__init__()方法。

__init__()方法按照參數(shù)的有無(self除外)可分為有參構(gòu)造方法和無參構(gòu)造方法,無參構(gòu)造方法中可以為屬性設(shè)置初始值,此時使用該方法創(chuàng)建的所有對象都具有相同的初始值。若希望每次創(chuàng)建的對象都有不同的初始值,則可以使用有參構(gòu)造方法實現(xiàn)。

例如,定義一個類Information,在該類中顯式地定義一個帶有3個參數(shù)的__init__()方法和info()方法,示例代碼如下:

class Inforamtion(object):
    def __init__(self, name, sex):     # 有參構(gòu)造方法
        self.name = name               # 添加屬性name
        self.sex = sex                 # 添加屬性sex
    def info(self):
        print(f'姓名:{self.name}')
        print(f'性別:{self.sex}')
上述代碼中首先定義了一個包含三個參數(shù)的Information類,然后通過參數(shù)name與sex為屬性name和sex進行賦值,最后在info()方法中訪問屬性name和sex的值。

因為定義的構(gòu)造方法中需要接收兩個實際參數(shù),所以在實例化Information類對象時需要傳入兩個參數(shù),示例代碼如下:

infomation = Inforamtion('李婉', '女')
infomation.info()

運行代碼,結(jié)果如下所示:

姓名:李婉
性別:女

注意:

前面在類中定義的屬性是類屬性,可以通過對象或類進行訪問;在構(gòu)造方法中定義的屬性是實例屬性,只能通過對象進行訪問。






猜你喜歡:

大數(shù)據(jù)課程需要學習Python嗎?

Python JsonPath解析json的方法

margin“塌陷”有哪些解決方法?

黑馬程序員Python+大數(shù)據(jù)開發(fā)培訓

分享到:
在線咨詢 我要報名
和我們在線交談!