最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實(shí)例分析

 更新時(shí)間:2019年11月21日 11:12:22   作者:小飛俠v科比  
這篇文章主要介紹了Python 面向?qū)ο笾庋b、繼承、多態(tài)操作,結(jié)合實(shí)例形式分析了Python面相對(duì)象程序設(shè)計(jì)中封裝、繼承、多態(tài)相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python 面向?qū)ο笾庋b、繼承、多態(tài)操作。分享給大家供大家參考,具體如下:

封裝、繼承、多態(tài) 是面向?qū)ο蟮?大特性

為啥要封裝

好處

在使用面向過(guò)程編程時(shí),當(dāng)需要對(duì)數(shù)據(jù)處理時(shí),需要考慮用哪個(gè)模板中哪個(gè)函數(shù)來(lái)進(jìn)行操作,但是當(dāng)用面向?qū)ο缶幊虝r(shí),因?yàn)橐呀?jīng)將數(shù)據(jù)存儲(chǔ)到了這個(gè)獨(dú)立的空間中,這個(gè)獨(dú)立的空間(即對(duì)象)中通過(guò)一個(gè)特殊的變量(class)能夠獲取到類(模板),而且這個(gè)類中的方法是有一定數(shù)量的,與此類無(wú)關(guān)的將不會(huì)出現(xiàn)在本類中,因此需要對(duì)數(shù)據(jù)處理時(shí),可以很快速的定位到需要的方法是誰(shuí) 這樣更方便

全局變量是只能有1份的,多很多個(gè)函數(shù)需要多個(gè)備份時(shí),往往需要利用其它的變量來(lái)進(jìn)行儲(chǔ)存;而通過(guò)封裝 會(huì)將用來(lái)存儲(chǔ)數(shù)據(jù)的這個(gè)變量 變?yōu)榱藢?duì)象中的一個(gè)“全局”變量,只要對(duì)象不一樣那么這個(gè)變量就可以再有1份,所以這樣更方便

代碼劃分更清晰

面向過(guò)程

全局變量1
全局變量2
全局變量3
...
def 函數(shù)1():
  pass
def 函數(shù)2():
  pass
def 函數(shù)3():
  pass
def 函數(shù)4():
  pass
def 函數(shù)5():
  pass

面向?qū)ο?/p>

class 類(object):
  屬性1
  屬性2
  def 方法1(self):
    pass
  def 方法2(self):
    pass
class 類2(object):
  屬性3
  def 方法3(self):
    pass
  def 方法4(self):
    pass
  def 方法5(self):
    pass

為啥要繼承

說(shuō)明

能夠提升代碼的重用率,即開(kāi)發(fā)一個(gè)類,可以在多個(gè)子功能中直接使用

繼承能夠有效的進(jìn)行代碼的管理,當(dāng)某個(gè)類有問(wèn)題只要修改這個(gè)類就行,而其繼承這個(gè)類的子類往往不需要就修改

怎樣理解多態(tài)

class MiniOS(object):
  """MiniOS 操作系統(tǒng)類 """
  def __init__(self, name):
    self.name = name
    self.apps = [] # 安裝的應(yīng)用程序名稱列表
  def __str__(self):
    return "%s 安裝的軟件列表為 %s" % (self.name, str(self.apps))
  def install_app(self, app):
    # 判斷是否已經(jīng)安裝了軟件
    if app.name in self.apps:
      print("已經(jīng)安裝了 %s,無(wú)需再次安裝" % app.name)
    else:
      app.install()
      self.apps.append(app.name)
class App(object):
  def __init__(self, name, version, desc):
    self.name = name
    self.version = version
    self.desc = desc
  def __str__(self):
    return "%s 的當(dāng)前版本是 %s - %s" % (self.name, self.version, self.desc)
  def install(self):
    print("將 %s [%s] 的執(zhí)行程序復(fù)制到程序目錄..." % (self.name, self.version))
class PyCharm(App):
  pass
class Chrome(App):
  def install(self):
    print("正在解壓縮安裝程序...")
    super().install()
linux = MiniOS("Linux")
print(linux)
pycharm = PyCharm("PyCharm", "1.0", "python 開(kāi)發(fā)的 IDE 環(huán)境")
chrome = Chrome("Chrome", "2.0", "谷歌瀏覽器")
linux.install_app(pycharm)
linux.install_app(chrome)
linux.install_app(chrome)
print(linux)

運(yùn)行結(jié)果

Linux 安裝的軟件列表為 []
將 PyCharm [1.0] 的執(zhí)行程序復(fù)制到程序目錄...
正在解壓縮安裝程序...
將 Chrome [2.0] 的執(zhí)行程序復(fù)制到程序目錄...
已經(jīng)安裝了 Chrome,無(wú)需再次安裝
Linux 安裝的軟件列表為 ['PyCharm', 'Chrome']

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python實(shí)現(xiàn)多線程端口掃描

    python實(shí)現(xiàn)多線程端口掃描

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)多線程端口掃描,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python利用subplots_adjust方法解決圖表與畫布的間距問(wèn)題

    Python利用subplots_adjust方法解決圖表與畫布的間距問(wèn)題

    這篇文章主要介紹了如何在使用python?的?matplotlib庫(kù)繪圖時(shí),?使用subplots_adjust()方法來(lái)調(diào)整圖表與畫布之間的間距,以及圖表與圖表之間的間距,感興趣的可以了解一下
    2022-04-04
  • python動(dòng)態(tài)進(jìn)度條的實(shí)現(xiàn)代碼

    python動(dòng)態(tài)進(jìn)度條的實(shí)現(xiàn)代碼

    有時(shí)候我們需要使用print打印工作進(jìn)度,正常使用print函數(shù)會(huì)導(dǎo)致刷屏的現(xiàn)象,本文通過(guò)實(shí)例代碼給大家介紹python動(dòng)態(tài)進(jìn)度條的實(shí)現(xiàn)方法,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • python?reshape和transpose的區(qū)別小結(jié)

    python?reshape和transpose的區(qū)別小結(jié)

    reshape()?和?transpose()?是用于改變數(shù)組或張量形狀的兩種不同方法,本文主要介紹了python?reshape和transpose的區(qū)別小結(jié),具有一定參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • python小球落地問(wèn)題及解決(遞歸函數(shù))

    python小球落地問(wèn)題及解決(遞歸函數(shù))

    這篇文章主要介紹了python小球落地問(wèn)題及解決(遞歸函數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 循環(huán)神經(jīng)網(wǎng)絡(luò)TextRNN實(shí)現(xiàn)情感短文本分類任務(wù)

    循環(huán)神經(jīng)網(wǎng)絡(luò)TextRNN實(shí)現(xiàn)情感短文本分類任務(wù)

    這篇文章主要為大家介紹了循環(huán)神經(jīng)網(wǎng)絡(luò)TextRNN實(shí)現(xiàn)情感短文本分類任務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • pandas中的Timestamp只保留日期不顯示時(shí)間

    pandas中的Timestamp只保留日期不顯示時(shí)間

    這篇文章主要介紹了pandas中的Timestamp只保留日期不顯示時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python中使用Inotify監(jiān)控文件實(shí)例

    Python中使用Inotify監(jiān)控文件實(shí)例

    這篇文章主要介紹了Python中使用Inotify監(jiān)控文件實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • 淺談python可視化包Bokeh

    淺談python可視化包Bokeh

    這篇文章主要介紹了淺談python可視化包Bokeh,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • python3讀取文件指定行的三種方法

    python3讀取文件指定行的三種方法

    考慮到深度學(xué)習(xí)領(lǐng)域中的數(shù)據(jù)規(guī)模一般都比較大,尤其是訓(xùn)練集,這個(gè)限制條件對(duì)應(yīng)到實(shí)際編程中就意味著,我們很有可能無(wú)法將整個(gè)數(shù)據(jù)文件的內(nèi)容全部都加載到內(nèi)存中。那么就需要一些特殊的處理方式,本文將要介紹的是從文件中只讀取特定行的內(nèi)容的3種解決方案。
    2021-05-05

最新評(píng)論

涪陵区| 晋宁县| 改则县| 康马县| 合肥市| 阜阳市| 瑞丽市| 茂名市| 乌鲁木齐市| 马鞍山市| 临湘市| 郓城县| 岱山县| 同江市| 邵阳县| 舒城县| 璧山县| 偏关县| 永吉县| 阳高县| 大宁县| 普宁市| 盐边县| 朝阳县| 乌鲁木齐县| 永福县| 洛阳市| 尚志市| 宿州市| 保山市| 东港市| 叶城县| 黎川县| 台中市| 新绛县| 德江县| 新龙县| 右玉县| 郴州市| 永和县| 陇川县|