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

python中判斷類型函數(shù)isinstance()示例詳解

 更新時(shí)間:2024年10月06日 09:51:29   作者:春天的菠菜  
isinstance()函數(shù)是Python的內(nèi)置函數(shù),用于判斷一個(gè)變量是否是某個(gè)類型或者是該類型的子類的實(shí)例,在Python中,所有類都繼承自object,所以任何實(shí)例都會(huì)是object的實(shí)例,本文給大家介紹python中判斷類型函數(shù)isinstance(),感興趣的朋友一起看看吧

函數(shù)isinstance()可以判斷一個(gè)變量的類型,既可以用在Python內(nèi)置的數(shù)據(jù)類型如str、list、dict,也可以用在我們自定義的類,它們本質(zhì)上都是數(shù)據(jù)類型。

假設(shè)有如下的 Person、Man和 Woman的定義及繼承關(guān)系如下:

class Person(object):
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
class Man(Person):
    def __init__(self, name, gender, score):
        super(Man, self).__init__(name, gender)
        self.score = score
class Woman(Person):
    def __init__(self, name, gender, course):
        super(Woman, self).__init__(name, gender)
        self.course = course
p = Person('Tim', 'Male')
m = Man('Bob', 'Male', 88)
w = Woman('Alice', 'Female', 'English')

當(dāng)我們拿到變量 p、m、w 時(shí),可以使用 isinstance 判斷類型:

>>> isinstance(p, Person)
True    # p是Person類型
>>> isinstance(p, man)
False   # p不是Man類型
>>> isinstance(p, Woman)
False   # p不是Woman類型

這說(shuō)明在繼承鏈上,一個(gè)父類的實(shí)例不能是子類類型,因?yàn)樽宇惐雀割惗嗔艘恍傩院头椒ā?/p>

我們?cè)倏疾?m :

>>> isinstance(m, Person)
True    # m是Person類型
>>> isinstance(m, Man)
True    # m是Man類型
>>> isinstance(m, Woman)
False   # m不是Woman類型

mMan類型,不是Woman類型,這很容易理解。但是,m也是Person類型,因?yàn)?strong>Man繼承自Person,雖然它比Person多了一些屬性和方法,但是,把 m 看成Person的實(shí)例也是可以的。

這說(shuō)明在一條繼承鏈上,一個(gè)實(shí)例可以看成它本身的類型,也可以看成它父類的類型。

任務(wù)

請(qǐng)根據(jù)繼承鏈的類型轉(zhuǎn)換,依次思考 w是否是 Person,Man,Woman,object 類型,并使用isinstance()判斷來(lái)驗(yàn)證您的答案。

class Person(object):
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
class Man(Person):
    def __init__(self, name, gender, score):
        super(Man, self).__init__(name, gender)
        self.score = score
class Woman(Person):
    def __init__(self, name, gender, course):
        super(Woman, self).__init__(name, gender)
        self.course = course
w = Woman('Alice', 'Female', 'English')
print (isinstance(w,Person))
print (isinstance(w, Man))
print (isinstance(w, Woman))
print (isinstance(w, object ))
#運(yùn)行結(jié)果
#True
#False
#True
#True

到此這篇關(guān)于python中判斷類型函數(shù)isinstance()示例詳解的文章就介紹到這了,更多相關(guān)python判斷類型函數(shù)isinstance()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)批量ping操作方法

    使用Python實(shí)現(xiàn)批量ping操作方法

    這篇文章主要介紹了使用Python實(shí)現(xiàn)批量ping操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python如何利用traceback獲取詳細(xì)的異常信息

    python如何利用traceback獲取詳細(xì)的異常信息

    異常信息的獲取對(duì)于程序的調(diào)試非常重要,可以有助于快速定位有錯(cuò)誤程序語(yǔ)句的位置。這篇文章主要給大家介紹了關(guān)于python如何利用traceback獲取詳細(xì)的異常信息的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python網(wǎng)絡(luò)請(qǐng)求之Requests庫(kù)的高級(jí)功能運(yùn)用

    Python網(wǎng)絡(luò)請(qǐng)求之Requests庫(kù)的高級(jí)功能運(yùn)用

    在這篇文章中我們將進(jìn)一步深入學(xué)習(xí)Requests庫(kù)的高級(jí)功能,包括處理重定向,設(shè)置超時(shí),處理大文件以及錯(cuò)誤和異常處理,需要的朋友可以參考下
    2023-08-08
  • Python中join()方法完全使用指南(參數(shù)要求與常見(jiàn)用法)

    Python中join()方法完全使用指南(參數(shù)要求與常見(jiàn)用法)

    join()是Python中字符串操作的核心方法之一,但許多開(kāi)發(fā)者在使用時(shí)經(jīng)常遇到TypeError或意外結(jié)果,本文將全面解析' '.join()的參數(shù)要求,通過(guò)實(shí)際示例展示正確用法,并總結(jié)常見(jiàn)問(wèn)題的解決方案,需要的朋友可以參考下
    2025-06-06
  • python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲

    python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • python txt中的文件,逐行讀取并且每行賦值給變量問(wèn)題

    python txt中的文件,逐行讀取并且每行賦值給變量問(wèn)題

    這篇文章主要介紹了python txt中的文件,逐行讀取并且每行賦值給變量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-02-02
  • 用代碼幫你了解Python基礎(chǔ)(1)

    用代碼幫你了解Python基礎(chǔ)(1)

    這篇文章主要用代碼幫你了解Python基礎(chǔ),使用數(shù)據(jù)類型和變量以及字符串和格式化的示例代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 如何表示python中的相對(duì)路徑

    如何表示python中的相對(duì)路徑

    在本篇文章里小編給大家分享的是關(guān)于python相對(duì)路徑寫(xiě)法以及相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python transpose()處理高維度數(shù)組的軸變換的實(shí)現(xiàn)

    python transpose()處理高維度數(shù)組的軸變換的實(shí)現(xiàn)

    本文主要介紹了python transpose()處理高維度數(shù)組的軸變換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • python 反向輸出字符串的方法

    python 反向輸出字符串的方法

    今天小編就為大家分享一篇python 反向輸出字符串的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

遂平县| 凤凰县| 英山县| 民丰县| 鱼台县| 白山市| 宕昌县| 汉源县| 亚东县| 临泽县| 富阳市| 新安县| 乐都县| 彰武县| 邛崃市| 渝中区| 宝坻区| 许昌市| 昭苏县| 瓦房店市| 即墨市| 上虞市| 桃源县| 新津县| 平山县| 长阳| 湟中县| 油尖旺区| 临城县| 汉沽区| 新兴县| 南阳市| 水城县| 班戈县| 普兰店市| 青阳县| 绥德县| 平邑县| 车致| 门头沟区| 哈尔滨市|