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

python學(xué)習(xí)手冊中的python多態(tài)示例代碼

 更新時間:2014年01月21日 09:29:39   作者:  
多態(tài)是面向?qū)ο笳Z言的一個基本特性,多態(tài)意味著變量并不知道引用的對象是什么,根據(jù)引用對象的不同表現(xiàn)不同的行為方式,下面使用一個示例學(xué)習(xí)他的使用方法

在處理多態(tài)對象時,只需要關(guān)注它的接口即可,python中并不需要顯示的編寫(像Java一樣)接口,在使用對象的使用先假定有該接口,如果實(shí)際并不包含,在運(yùn)行中報(bào)錯。

復(fù)制代碼 代碼如下:

class handGun():
    def __init__(self):
        pass
    def fire(self):
        print 'handGun fire'

class carbine():
    def __init__(self):
        pass
    def fire(self):
        print 'carbine fire'

import handGun
import carbine
class gunFactory():
    def __init__(self,gun_type):
        self.gun_type = gun_type
    def produce(self):
        if handGun == self.gun_type:
            return handGun.handGun()
        else:
            return carbine.carbine()

客戶端

復(fù)制代碼 代碼如下:

fa = gunFactory(handGun)
gun = fa.produce()

/*只要是槍,就認(rèn)為它具有開火的功能,如果沒有開火的功能,程序運(yùn)行中就報(bào)錯*/
gun.fire()

可以看到跟一般的靜態(tài)語言相比,python并沒有在語言級別來保證接口的正確性,只能依靠文檔、代碼來保證(可以在代碼中檢查接口是否存在,hasattr(gun,'fire'))

相關(guān)文章

  • Python給PDF添加水印的代碼步驟

    Python給PDF添加水印的代碼步驟

    在本教程中,我們將學(xué)習(xí)如何使用 Python 編程語言以及 PyPDF2 和 reportlab 庫來向 PDF 文檔中添加水印,水印通常用于標(biāo)記文檔的版權(quán)信息、保密級別或其他重要通知,需要的朋友可以參考下
    2025-02-02
  • python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟

    python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟

    本文主要介紹了python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python冒泡排序注意要點(diǎn)實(shí)例詳解

    Python冒泡排序注意要點(diǎn)實(shí)例詳解

    本文給大家介紹了python冒泡排序知識,涉及到冒泡排序主要的細(xì)節(jié)問題,本文通過實(shí)例代碼給大家講解,介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • Python編程中非常重要卻又被嚴(yán)重低估的庫decorator

    Python編程中非常重要卻又被嚴(yán)重低估的庫decorator

    今天介紹的是一個已經(jīng)存在十年,但是依舊不紅的庫 decorator,好像很少有人知道他的存在一樣。本篇文章不會過多的向你介紹裝飾器的基本知識,我會默認(rèn)你知道什么是裝飾器,并且懂得如何寫一個簡單的裝飾器
    2021-10-10
  • Python使用socketServer包搭建簡易服務(wù)器過程詳解

    Python使用socketServer包搭建簡易服務(wù)器過程詳解

    這篇文章主要介紹了Python使用socketServer包搭建簡易服務(wù)器過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • python中的被動信息搜集

    python中的被動信息搜集

    這篇文章主要介紹了python中的被動信息搜集的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python常見MongoDB數(shù)據(jù)庫操作實(shí)例總結(jié)

    Python常見MongoDB數(shù)據(jù)庫操作實(shí)例總結(jié)

    這篇文章主要介紹了Python常見MongoDB數(shù)據(jù)庫操作,結(jié)合實(shí)例形式詳細(xì)總結(jié)了Python針對MongoDB數(shù)據(jù)庫相關(guān)pymongo庫安裝以及MongoDB數(shù)據(jù)庫的增刪改查等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Python編程中閉包的變量作用域問題解析

    Python編程中閉包的變量作用域問題解析

    這篇文章主要介紹了Python編程中閉包的變量作用域問題解析,在學(xué)習(xí)Python的返回函數(shù)的時候,我發(fā)現(xiàn)里面涉及了幾個問題,在這里為大家分享講解下
    2021-10-10
  • Python通過VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作詳解

    Python通過VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作詳解

    這篇文章主要介紹了Python通過VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換的具體原理、操作步驟與實(shí)現(xiàn)方法,需要的朋友可以參考下
    2020-01-01
  • 一文教你利用Python制作一個C盤清理器

    一文教你利用Python制作一個C盤清理器

    關(guān)于電腦的垃圾清理操作,已經(jīng)有很多的成熟的軟件可以幫助我們完成C盤的垃圾清理操作,比如360等等。但是使用三方的清理軟件往往伴隨著很多的廣告,所以本文就來用Python制作一個C盤清理器吧
    2023-03-03

最新評論

木兰县| 囊谦县| 吉木乃县| 龙门县| 雷山县| 大同县| 兴业县| 郑州市| 凤山市| 扶绥县| 平遥县| 南城县| 南通市| 桐柏县| 静宁县| 花垣县| 囊谦县| 伊通| 进贤县| 通化县| 五河县| 桃源县| 富平县| 曲麻莱县| 太仆寺旗| 克山县| 兴安盟| 永平县| 尚义县| 吉木萨尔县| 兰考县| 仙居县| 吕梁市| 青神县| 黄冈市| 原平市| 长丰县| 阜新| 梁平县| 手游| 梓潼县|