国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python 面向?qū)ο缶幊?/h1>

這篇具有很好參考價(jià)值的文章主要介紹了python 面向?qū)ο缶幊獭OM麑?duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

python 面向?qū)ο缶幊?python,python,開發(fā)語言

前言

大家好,前面我們學(xué)習(xí)了 python 的基礎(chǔ)用法,那么從今天開始,我們將學(xué)習(xí) python 的面向?qū)ο缶幊蹋敲词裁唇凶雒嫦驅(qū)ο蟮木幊棠兀?/p>

面向?qū)ο缶幊淌且环N編程范式,它將數(shù)據(jù)和操作數(shù)據(jù)的方法封裝在對(duì)象中,并通過對(duì)象之間的交互來實(shí)現(xiàn)程序的設(shè)計(jì)和實(shí)現(xiàn)。

在面向?qū)ο缶幊讨?,程序被組織成一組相互作用的對(duì)象,每個(gè)對(duì)象都有自己的數(shù)據(jù)和可以處理這些數(shù)據(jù)的方法。對(duì)象通過消息傳遞的方式進(jìn)行通信,一個(gè)對(duì)象可以請(qǐng)求另一個(gè)對(duì)象執(zhí)行特定的操作。

面向?qū)ο缶幊痰闹饕攸c(diǎn)包括:

  1. 封裝(Encapsulation):將數(shù)據(jù)和操作數(shù)據(jù)的方法封裝在對(duì)象中,對(duì)象對(duì)外部隱藏了內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),只暴露必要的接口。

  2. 繼承(Inheritance):通過繼承機(jī)制,可以從已有的類派生新的類,并對(duì)新的類進(jìn)行擴(kuò)展或修改。繼承可以實(shí)現(xiàn)代碼重用和層次化設(shè)計(jì)。

  3. 多態(tài)(Polymorphism):多態(tài)允許使用統(tǒng)一的接口來處理不同類的對(duì)象,提高了代碼的靈活性和可擴(kuò)展性。不同的對(duì)象可以對(duì)同一消息做出不同的響應(yīng)。

面向?qū)ο缶幊痰膬?yōu)點(diǎn)包括代碼重用性高、可維護(hù)性強(qiáng)、模塊化程度高等。它被廣泛應(yīng)用于各種編程語言和領(lǐng)域,如Java、C++、Python等。

那么本篇我怕將帶大家進(jìn)入 python面向?qū)ο缶幊?的大門,讓我們一起來看看吧。??????

python 面向?qū)ο缶幊?python,python,開發(fā)語言

如何理解面向?qū)ο缶幊?/h2>

舉個(gè)例子:當(dāng)我們手洗衣服的時(shí)候,我們需要 找盆 - 放水 - 加洗衣粉 - 浸泡 - 搓洗 - 擰干水 - 倒水 - 漂洗N次 - 擰干 - 晾曬。 但是如果我們使用洗衣機(jī)洗衣服的話,我們只需要 打開洗衣機(jī) - 放衣服 - 加洗衣粉 - 按下開始按鈕 - 晾曬。面向?qū)ο笪覀冎恍枰⒁鈱?duì)象是什么,而不必過于關(guān)心過程是什么。

總結(jié):面向?qū)ο缶褪菍⒕幊坍?dāng)成是一個(gè)事物,對(duì)外界來說,事物是直接使用的,不用去管他內(nèi)部的情況。而編程就是設(shè)置事物能夠做什么事。

在 python 中如何使用面向?qū)ο缶幊?/h2>

在 python 中實(shí)現(xiàn)面向?qū)ο缶幊桃蕾囉陬惡蛯?duì)象,類就相當(dāng)于是一張圖紙,一個(gè)事物必須依靠這個(gè)圖紙才能實(shí)現(xiàn)出一個(gè)實(shí)體,這種類創(chuàng)建出對(duì)象的過程也叫做實(shí)例化

定義類

在 python 中,使用 class 類名(): 來創(chuàng)建出一個(gè)類。并且類名通常使用大駝峰的形式。

??

class Washer():
    print('這是一個(gè)類')

print(type(Washer))

python 面向?qū)ο缶幊?python,python,開發(fā)語言

這種類中代碼不在函數(shù)內(nèi)部的函數(shù)在定義的時(shí)候就會(huì)執(zhí)行。也就是說不管我們有沒有使用這個(gè)類都會(huì)執(zhí)行這個(gè)代碼。

class Washer():
    print('這是一個(gè)類')

python 面向?qū)ο缶幊?python,python,開發(fā)語言
??
而通常一個(gè)事物被創(chuàng)建出來往往會(huì)具有相應(yīng)的功能,那么在類中我們定義函數(shù)使這個(gè)類具有某種功能。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

print(type(Washer))

python 面向?qū)ο缶幊?python,python,開發(fā)語言
函數(shù)中的方法只有被調(diào)用的時(shí)候才會(huì)執(zhí)行。

創(chuàng)建對(duì)象

當(dāng)我們創(chuàng)建完一個(gè)類之后,我們可以使用 對(duì)象名 = 類名() 來實(shí)例化出一個(gè)對(duì)象。在實(shí)例化出一個(gè)對(duì)象之后,我們可以使用 對(duì)象名.方法 來調(diào)用該對(duì)象中的方法。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer();
washer1.wash_clothes()

python 面向?qū)ο缶幊?python,python,開發(fā)語言

當(dāng)我們直接打印類名和對(duì)象名的時(shí)候,會(huì)輸出什么?

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()
washer2 = Washer()
print(Washer)
print(washer1)
print(washer2)

python 面向?qū)ο缶幊?python,python,開發(fā)語言

當(dāng)我們直接打印對(duì)象名的時(shí)候,會(huì)輸出對(duì)象名的地址,并且同一個(gè)類的不同對(duì)象的地址不同。

self

細(xì)心的人可能會(huì)發(fā)現(xiàn)為什么函數(shù)的參數(shù)列表中會(huì)出現(xiàn) self 呢?這個(gè) self 不是我手動(dòng)添加進(jìn)去的,而是 python 自動(dòng)補(bǔ)充的,這個(gè) self 表示調(diào)用該函數(shù)的對(duì)象。

class Washer():

    hight = 100
    weight = 200
    def wash_clothes(self):
        print('洗衣服')
        print(self)

washer1 = Washer();
print(washer1)
washer1.wash_clothes()
washer2 = Washer()
print(washer2)
washer2.wash_clothes()

python 面向?qū)ο缶幊?python,python,開發(fā)語言

不僅如此,我們還可以在類當(dāng)中使用 self.屬性 來訪問當(dāng)前類中的屬性。

class Washer():

    hight = 100
    weight = 200
    def wash_clothes(self):
        print('洗衣服')
        print(f'洗衣機(jī)的高度是{self.hight}')

washer1 = Washer()
washer1.wash_clothes()

python 面向?qū)ο缶幊?python,python,開發(fā)語言

添加和獲取對(duì)象屬性

添加屬性

屬性代表對(duì)象具有的特性,比如高度,重量和價(jià)格等,這些都屬于對(duì)象的屬性。

類外添加屬性

在類外添加屬性就相當(dāng)于什么呢?就相當(dāng)于我們買手機(jī),當(dāng)我們拿到手機(jī)的時(shí)候,我們需要自己下載應(yīng)用,打造屬于我們自己的手機(jī),手機(jī)具有我們想要的屬性,這就是在類外添加屬性的大概意義。我們使用 對(duì)象名.屬性名 = 值 來在類外添加屬性。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()
washer1.hight = 100

python 面向?qū)ο缶幊?python,python,開發(fā)語言

類中添加屬性

在類中添加屬性就相當(dāng)于,在工廠的時(shí)候,制作出來就有的屬性,顏色啊、大小什么的,這些就是所有事物都具有的共同屬性,只是具體的屬性內(nèi)容有區(qū)別。我們使用
屬性名 = 值 來在類中添加屬性。

class Washer():
    hight = 100
    weight = 500
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()

python 面向?qū)ο缶幊?python,python,開發(fā)語言

訪問屬性

類外訪問屬性

在類外訪問屬性使用 對(duì)象名.屬性 。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 =Washer()
washer1.hight = 100
washer1.weight = 500
print(washer1.hight)  # 100
print(washer1.weight)  # 500
類中訪問屬性

在類中使用 self.屬性 來訪問屬性。

class Washer():
    hight = 100
    weight = 500
    def print_info(self):
        print(f'洗衣機(jī)的高度為{self.hight},洗衣機(jī)的重量為{self.weight}')

washer1 =Washer()
washer1.print_info()

python 面向?qū)ο缶幊?python,python,開發(fā)語言

魔法方法

在 python 類中有很多特殊的方法,他們的格式是 __xx__() ,他們具有特殊的功能。

__ init __() 方法

__ init __() 方法是當(dāng)我們實(shí)例化出一個(gè)對(duì)象的時(shí)候自動(dòng)調(diào)用的方法,不需要我們手動(dòng)調(diào)用,通常用于給對(duì)象的屬性賦值或者添加屬性。

class Washer():
    def __init__(self):
        self.hight = 100
        self.weight = 500

washer1 = Washer()
print(washer1.hight)  # 100
print(washer1.weight)  # 500

__ init __ 方法也可以傳進(jìn)去參數(shù),用來給對(duì)象屬性賦值等作用。

class Washer():
    hight = 0
    weight = 0
    def __init__(self,hight,weight):
        self.hight = hight
        self.weight = weight

washer1 = Washer(100,500)
print(washer1.hight)  # 100
print(washer1.weight)  # 500

__ str __()方法

當(dāng)我們直接使用 print() 函數(shù)打印對(duì)象名的時(shí)候,會(huì)輸出該對(duì)象的地址,但是當(dāng)我們類中存在 __ str __() 方法的時(shí)候,使用 print(對(duì)象名) 的時(shí)候,輸出的是 __ str __() 中return的數(shù)據(jù)。

class Washer():
    def __str__(self):
        return '這是一個(gè)洗衣機(jī)'

washer1 = Washer()
print(washer1)

python 面向?qū)ο缶幊?python,python,開發(fā)語言

__ del __() 方法

當(dāng)我們刪除對(duì)象的時(shí)候,如果該對(duì)象中存在 __ del __() 方法的時(shí)候,會(huì)默認(rèn)執(zhí)行蓋房啊中的內(nèi)容。但是實(shí)際上,當(dāng)我們不手動(dòng)刪除對(duì)象的時(shí)候,也會(huì)執(zhí)行該方法,因?yàn)楫?dāng)我們的程序執(zhí)行完成之后,對(duì)象就不會(huì)被使用了,會(huì)被刪除掉。

class Washer():
    def __del__(self):
        print(f'{self}對(duì)象已被刪除')

washer1 = Washer()
del washer1

python 面向?qū)ο缶幊?python,python,開發(fā)語言
python 面向?qū)ο缶幊?python,python,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-548107.html

到了這里,關(guān)于python 面向?qū)ο缶幊痰奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包