91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python中的類和對象詳解

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2023-04-20 16:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python 是一種面向對象的編程語言,它支持類和對象。類是一種用戶自定義的數據類型,用于定義對象的屬性和方法。對象是類的實例,它包含類的屬性和方法的實際值。

定義類

定義類的語法如下:

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

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

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

在上面的代碼中,__init__() 方法是類的構造函數,它在創建對象時調用。self 參數是一個指向當前對象的引用,它用于訪問對象的屬性和方法。

創建對象

要創建一個對象,我們必須使用類的名稱和構造函數的參數。例如:

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

person1=Person("John",25)

在上面的代碼中,我們定義了一個名為 Person 的類,并創建了一個名為 person1 的對象。這個對象有兩個屬性:name 和 age。

訪問屬性和方法

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

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

在上面的代碼中,我們訪問了 person1 對象的 name 和 age 屬性。

要調用對象的方法,我們可以使用點操作符和方法名。

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()

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

繼承

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

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()

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

多態性

多態性是面向對象編程中的一個概念,它允許我們使用相同的方法名調用不同類的方法。這樣,我們可以編寫通用的代碼來處理不同的對象類型。

在 Python 中,多態性是通過繼承和方法覆蓋來實現的。當我們調用一個方法時,Python 解釋器會在對象的類和其父類中查找該方法,直到找到為止。

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)

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

封裝

封裝是面向對象編程中的另一個概念,它允許我們將對象的內部狀態隱藏起來,只公開必要的接口來訪問它。在 Python 中,封裝是通過屬性和方法的訪問控制來實現的。

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

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())

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

總結

Python 類和對象是面向對象編程的基本概念。通過定義類和創建對象,我們可以組織代碼并實現封裝、繼承和多態性。了解這些概念對于編寫高質量的 Python 代碼非常重要。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1956

    瀏覽量

    36630
  • 函數
    +關注

    關注

    3

    文章

    4379

    瀏覽量

    64833
  • 對象
    +關注

    關注

    1

    文章

    38

    瀏覽量

    17546
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86699
  • 解釋器
    +關注

    關注

    0

    文章

    103

    瀏覽量

    6761

原文標題:網絡工程師學Python-12-類和對象

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Python的面向對象編程詳解

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

    3分鐘看懂Python面向對象

    Python雖然是解釋型語言,但從設計之初就已經是一門面向對象的語言,對于Python來說一切皆為對象。正因為如此,在Python
    發表于 06-08 14:20

    python的理解與使用

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

    python的多態和的property屬性

    是鴨子。套入剛剛的代碼實例,就是一個對象,只要有 speak 方法,那么他就是一個 do_speak 方法所需要的 people 對象的 property 屬性在之前的學習
    發表于 03-09 16:38

    python開發之‘’講解

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

    揭開Pythonself的神秘面紗

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

    詳談Python的數據模型和對象模型

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

    python迭代器詳解

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

    python的繼承詳解

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

    Python的屬性和方法是什么

    編程我們用來創建對象。日常生活的汽車設計圖就是我們Python
    的頭像 發表于 02-23 10:17 ?1169次閱讀

    什么是python對象

    Python,type函數查看數據類型
    的頭像 發表于 02-23 10:18 ?1071次閱讀

    Python的繼承詳解

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

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發表于 06-06 17:50 ?8次下載

    Python中元的作用

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

    pythonopen函數的用法詳解

    pythonopen函數的用法詳解 Python的open()函數用于打開文件。它接受文件名和模式作為參數,并返回一個文件
    的頭像 發表于 01-30 15:31 ?2906次閱讀
    主站蜘蛛池模板: 四虎最新网址在线观看 | 国产98色在线 | 玖玖在线国产精品 | 美女三级黄 | 天堂国产| 午夜毛片不卡高清免费 | 大香伊人网| 中文字幕一区在线观看 | 日本特黄特色aaa大片免费欧 | 老师别揉我胸啊嗯上课呢视频 | 免费番茄社区性色大片 | 午夜大片男女免费观看爽爽爽尤物 | 性感美女福利视频 | 久久国产高清字幕中文 | 色骚网 | 国产伦精品一区二区三区免 | 日韩精品一区二区在线观看 | 26uuu另类亚洲欧美日本一 | 诱人的老师bd高清日本在线观看 | 久青草国产手机视频免费观看 | 国产三级精品三级在线观看 | 狠狠噜天天噜日日噜 | 曰本女人一级毛片看一级毛 | 萌白酱白丝护士服喷水铁牛tv | 99在线国产| 国产精品资源在线播放 | 三级在线网址 | 国产成人亚洲毛片 | 天天操天天谢 | 91大神大战丝袜美女在线观看 | va天堂| 男人j进入女人免费视频 | 九九99久久精品午夜剧场免费 | 国产美女久久久 | 亚色最新网址 | 欧美a色| 公妇乱淫日本免费观看 | 亚洲视频一区二区在线观看 | 香蕉视频国产在线观看 | 天天色天天操综合网 | 久久天天躁夜夜躁狠狠躁2020 |