亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

假設有如下的 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')

當我們拿到變量 p、m、w 時,可以使用 isinstance 判斷類型:

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

這說明在繼承鏈上,一個父類的實例不能是子類類型,因為子類比父類多了一些屬性和方法。

我們再考察 m :

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

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

這說明在一條繼承鏈上,一個實例可以看成它本身的類型,也可以看成它父類的類型。

任務

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

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 ))
#運行結(jié)果
#True
#False
#True
#True

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

相關(guān)文章

  • 對比分析BN和dropout在預測和訓練時區(qū)別

    對比分析BN和dropout在預測和訓練時區(qū)別

    這篇文章主要為大家介紹了對比分析BN和dropout在預測和訓練時區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python圖像的增強處理操作示例【基于ImageEnhance類】

    Python圖像的增強處理操作示例【基于ImageEnhance類】

    這篇文章主要介紹了Python圖像的增強處理操作,結(jié)合實例形式分析了使用ImageEnhance類處理圖片的亮度、對比度、色度以及銳度等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 一篇文章搞懂Python的類與對象名稱空間

    一篇文章搞懂Python的類與對象名稱空間

    這篇文章主要給大家介紹了關(guān)于Python的類與對象名稱空間的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • 通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別

    通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別

    這篇文章主要介紹了通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別,Ruby?與?Python?之間的差異在很大程度上可通過for循環(huán)看出本質(zhì),下文詳細介紹需要的小伙伴可以參考一下
    2022-05-05
  • 詳解Python中的路徑問題

    詳解Python中的路徑問題

    這篇文章主要介紹了Python中的路徑問題,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-09-09
  • Win8.1下安裝Python3.6提示0x80240017錯誤的解決方法

    Win8.1下安裝Python3.6提示0x80240017錯誤的解決方法

    這篇文章主要為大家詳細介紹了Win8.1下安裝Python3.6提示0x80240017錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • python結(jié)合opencv實現(xiàn)人臉檢測與跟蹤

    python結(jié)合opencv實現(xiàn)人臉檢測與跟蹤

    在Python下用起來OpenCV很爽,代碼很簡潔,很清晰易懂。使用的是Haar特征的分類器,訓練之后得到的數(shù)據(jù)存在一個xml中。下面我們就來詳細談談。
    2015-06-06
  • Python基礎詳解之列表復制

    Python基礎詳解之列表復制

    這篇文章主要介紹了Python基礎詳解之列表復制,文中有非常詳細的代碼示例,對正在學習python基礎的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python報表自動化之從數(shù)據(jù)到可視化一站式指南

    Python報表自動化之從數(shù)據(jù)到可視化一站式指南

    在現(xiàn)代數(shù)據(jù)驅(qū)動的世界中,生成清晰、有用的報表對于業(yè)務決策至關(guān)重要,Python作為一門強大的編程語言,提供了豐富的庫和工具,使得報表自動化變得輕而易舉,本文將詳細介紹如何利用Python從數(shù)據(jù)處理到可視化,實現(xiàn)報表自動化的全過程
    2024-01-01
  • 用python求一重積分和二重積分的例子

    用python求一重積分和二重積分的例子

    今天小編就為大家分享一篇用python求一重積分和二重積分的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論