衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中的類和對(duì)象詳解

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-04-20 16:53 ? 次閱讀

Python 是一種面向?qū)ο蟮?a target="_blank">編程語言,它支持類和對(duì)象。類是一種用戶自定義的數(shù)據(jù)類型,用于定義對(duì)象的屬性和方法。對(duì)象是類的實(shí)例,它包含類的屬性和方法的實(shí)際值。

定義類

定義類的語法如下:

classClassName:
def__init__(self,arg1,arg2,...):
self.attribute1=arg1
self.attribute2=arg2
...

defmethod1(self,arg1,arg2,...):
#methodbody

defmethod2(self,arg1,arg2,...):
#methodbody

在上面的代碼中,__init__() 方法是類的構(gòu)造函數(shù),它在創(chuàng)建對(duì)象時(shí)調(diào)用。self 參數(shù)是一個(gè)指向當(dāng)前對(duì)象的引用,它用于訪問對(duì)象的屬性和方法。

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

要?jiǎng)?chuàng)建一個(gè)對(duì)象,我們必須使用類的名稱和構(gòu)造函數(shù)的參數(shù)。例如:

classPerson:
def__init__(self,name,age):
self.name=name
self.age=age

person1=Person("John",25)

在上面的代碼中,我們定義了一個(gè)名為 Person 的類,并創(chuàng)建了一個(gè)名為 person1 的對(duì)象。這個(gè)對(duì)象有兩個(gè)屬性:name 和 age。

訪問屬性和方法

要訪問對(duì)象的屬性和方法,我們可以使用點(diǎn)操作符(.)。

print(person1.name)
print(person1.age)

在上面的代碼中,我們?cè)L問了 person1 對(duì)象的 name 和 age 屬性。

要調(diào)用對(duì)象的方法,我們可以使用點(diǎn)操作符和方法名。

classPerson:
def__init__(self,name,age):
self.name=name
self.age=age

defsay_hello(self):
print("Hello,mynameis",self.name)

person1=Person("John",25)
person1.say_hello()

在上面的代碼中,我們定義了一個(gè)名為 say_hello() 的方法,并在 person1 對(duì)象上調(diào)用它。

繼承

Python 支持繼承,它允許我們定義一個(gè)類來繼承另一個(gè)類的屬性和方法。

classAnimal:
def__init__(self,name):
self.name=name

defspeak(self):
pass

classDog(Animal):
defspeak(self):
print("Woof!")

classCat(Animal):
defspeak(self):
print("Meow!")

dog1=Dog("Rex")
cat1=Cat("Whiskers")

dog1.speak()
cat1.speak()

在上面的代碼中,我們定義了一個(gè)名為 Animal 的類,并創(chuàng)建了兩個(gè)名為 Dog 和 Cat 的子類。這些子類繼承了 Animal 類的屬性和方法,并覆蓋了 speak() 方法。

多態(tài)性

多態(tài)性是面向?qū)ο缶幊讨械囊粋€(gè)概念,它允許我們使用相同的方法名調(diào)用不同類的方法。這樣,我們可以編寫通用的代碼來處理不同的對(duì)象類型。

在 Python 中,多態(tài)性是通過繼承和方法覆蓋來實(shí)現(xiàn)的。當(dāng)我們調(diào)用一個(gè)方法時(shí),Python 解釋器會(huì)在對(duì)象的類和其父類中查找該方法,直到找到為止。

classAnimal:
def__init__(self,name):
self.name=name

defspeak(self):
pass

classDog(Animal):
defspeak(self):
print("Woof!")

classCat(Animal):
defspeak(self):
print("Meow!")

defmake_animal_speak(animal):
animal.speak()

dog1=Dog("Rex")
cat1=Cat("Whiskers")

make_animal_speak(dog1)
make_animal_speak(cat1)

在上面的代碼中,我們定義了一個(gè)名為 make_animal_speak() 的函數(shù),它接受一個(gè) Animal 類型的參數(shù),并調(diào)用該參數(shù)的 speak() 方法。然后,我們創(chuàng)建了一個(gè) Dog 類型的對(duì)象和一個(gè) Cat 類型的對(duì)象,并將它們作為參數(shù)傳遞給 make_animal_speak() 函數(shù)。

封裝

封裝是面向?qū)ο缶幊讨械牧硪粋€(gè)概念,它允許我們將對(duì)象的內(nèi)部狀態(tài)隱藏起來,只公開必要的接口來訪問它。在 Python 中,封裝是通過屬性和方法的訪問控制來實(shí)現(xiàn)的。

在 Python 中,屬性和方法的訪問控制是通過屬性和方法的名稱前綴來實(shí)現(xiàn)的。如果屬性或方法的名稱以兩個(gè)下劃線開頭(__),則它是私有的,否則它是公共的。

classPerson:
def__init__(self,name,age):
self.__name=name
self.__age=age

defget_name(self):
returnself.__name

defset_name(self,name):
self.__name=name

defget_age(self):
returnself.__age

defset_age(self,age):
self.__age=age

person1=Person("John",25)
print(person1.get_name())
person1.set_name("Mike")
print(person1.get_name())

在上面的代碼中,我們定義了一個(gè)名為 Person 的類,并將 name 和 age 屬性設(shè)置為私有的。然后,我們定義了四個(gè)公共方法來訪問和修改這些屬性。

總結(jié)

Python 類和對(duì)象是面向?qū)ο缶幊痰幕靖拍睢Mㄟ^定義類和創(chuàng)建對(duì)象,我們可以組織代碼并實(shí)現(xiàn)封裝、繼承和多態(tài)性。了解這些概念對(duì)于編寫高質(zhì)量的 Python 代碼非常重要。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1950

    瀏覽量

    34981
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62968
  • 對(duì)象
    +關(guān)注

    關(guān)注

    1

    文章

    38

    瀏覽量

    17418
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85037
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6566

原文標(biāo)題:網(wǎng)絡(luò)工程師學(xué)Python-12-類和對(duì)象

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python的面向對(duì)象編程詳解

    一般編程可分為面向過程編程,和面向對(duì)象編程。Python的面向對(duì)象編程,與Java的面向對(duì)象很像。之所以需要面向對(duì)象編程,是為了更好地實(shí)現(xiàn)封
    發(fā)表于 09-04 16:35 ?593次閱讀
    <b class='flag-5'>Python</b>的面向<b class='flag-5'>對(duì)象</b>編程<b class='flag-5'>詳解</b>

    3分鐘看懂Python面向對(duì)象

    Python雖然是解釋型語言,但從設(shè)計(jì)之初就已經(jīng)是一門面向對(duì)象的語言,對(duì)于Python來說一切皆為對(duì)象。正因?yàn)槿绱耍?b class='flag-5'>Python
    發(fā)表于 06-08 14:20

    python的理解與使用

    python的理解與使用1. 通俗理解(英文名 class),是具有相同特性(屬性)和行為(方法)的對(duì)象(實(shí)例)的抽象模板。從定義上來
    發(fā)表于 03-07 16:51

    python的多態(tài)和的property屬性

    是鴨子。套入剛剛的代碼實(shí)例,就是一個(gè)對(duì)象,只要有 speak 方法,那么他就是一個(gè) do_speak 方法所需要的 people 對(duì)象的 property 屬性在之前的學(xué)習(xí)
    發(fā)表于 03-09 16:38

    python開發(fā)之‘’講解

    Python 在盡可能不增加新的語法和語義的情況下加入了機(jī)制。這種機(jī)制是 C++ 和 Modula-3 的混合。 Python沒有在
    發(fā)表于 03-15 14:12 ?1次下載

    揭開Pythonself的神秘面紗

    許多python初學(xué)者,在接觸到python面向對(duì)象的時(shí)候,就被包含的方法的self打敗了
    的頭像 發(fā)表于 01-19 17:51 ?1815次閱讀
    揭開<b class='flag-5'>Python</b><b class='flag-5'>類</b><b class='flag-5'>中</b>self的神秘面紗

    詳談Python的數(shù)據(jù)模型和對(duì)象模型

    Python官方文檔說法是“Python數(shù)據(jù)模型”,大多數(shù)Python書籍作者說法是“Python對(duì)象模型”,它們是一個(gè)意思,表示“計(jì)算機(jī)編
    的頭像 發(fā)表于 02-10 15:59 ?2613次閱讀
    詳談<b class='flag-5'>Python</b>的數(shù)據(jù)模型和<b class='flag-5'>對(duì)象</b>模型

    python迭代器詳解

    ,可能需要借助一些函數(shù)來判別,比如 Python 內(nèi)置的 collections.abc 模塊,這個(gè)模塊只有在 Python 才有噢,在這個(gè)模塊中提供了一個(gè) Iterable ,可
    的頭像 發(fā)表于 02-24 15:42 ?1373次閱讀

    python的繼承詳解

    python的繼承 的繼承,跟人類繁衍的關(guān)系相似。 被繼承的稱為基(也叫做父),繼承而
    的頭像 發(fā)表于 03-08 16:40 ?3160次閱讀

    Python的屬性和方法是什么

    編程我們用來創(chuàng)建對(duì)象。日常生活的汽車設(shè)計(jì)圖就是我們Python
    的頭像 發(fā)表于 02-23 10:17 ?931次閱讀

    什么是python對(duì)象

    Python,type函數(shù)查看數(shù)據(jù)類型
    的頭像 發(fā)表于 02-23 10:18 ?821次閱讀

    Python的繼承詳解

    Python ,繼承是一種重要的面向對(duì)象編程概念。通過繼承,我們可以定義一個(gè)新的,它繼承了現(xiàn)有的屬性和方法。這種代碼重用可以使我們
    的頭像 發(fā)表于 04-20 16:56 ?1344次閱讀

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發(fā)表于 06-06 17:50 ?0次下載

    Python中元的作用

    1.什么是 在理解元之前,我們必須先掌握Python(class)。 和大多數(shù)語言一樣,Pyt
    的頭像 發(fā)表于 11-02 11:18 ?584次閱讀
    <b class='flag-5'>Python</b>中元<b class='flag-5'>類</b>的作用

    pythonopen函數(shù)的用法詳解

    pythonopen函數(shù)的用法詳解 Python的open()函數(shù)用于打開文件。它接受文件名和模式作為參數(shù),并返回一個(gè)文件
    的頭像 發(fā)表于 01-30 15:31 ?2236次閱讀
    大发888的比赛怎么报名| 澳门百家乐下路写法| 百家乐官网单双打法| 百家乐对保| 圆梦城百家乐官网娱乐城| 易胜博投注| 金域百家乐的玩法技巧和规则 | 百家乐官网游戏规则玩法| 百家乐园首选海立方| 乐宝百家乐娱乐城| 太阳城百家乐官网注册平台| bet365 官网| 百家乐游戏模拟| 百家乐官网套利| 半圆百家乐官网桌子| 爱玩棋牌官方下载| 试玩百家乐游戏机| 百家乐官网乐赌| 百家乐官网投注限额| 皇冠走地| 大发888娱乐大发体育| 百家乐电话投注怎么玩| 蓝盾百家乐官网平台| 百家乐官网是赌博吗| 大发888好么| A8百家乐娱乐| 太阳城百家乐软件| 百家乐官网赢钱打| 百家乐官网作弊演示| 六合彩开奖现场直播| 尊龙百家乐娱乐城| 百家乐和抽水官网| 百家乐官网娱乐平台代理佣金 | 八运24山风水坟地图解| 澳门百家乐官网的故事| 太仆寺旗| 皇冠在线娱乐城| 全讯网carrui| 百家乐龙虎扑克牌游戏技巧打| 网络百家乐的陷阱| 吕百家乐官网赢钱律|