isinstance() 函數(shù)是 python 中的一個內(nèi)置函數(shù),主要用于檢測變量類型,返回值是bool值 ,在python內(nèi)置函數(shù)中,與該函數(shù)相似的還有另外一個內(nèi)置函數(shù) type()。
創(chuàng)新互聯(lián)公司從2013年開始,先為上蔡等服務(wù)建站,上蔡等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為上蔡企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1 | isinstance(object,classinfo) |
參數(shù):
object : 實例對象。
classinfo : 可以是直接或者間接類名、基本類型或者由它們組成的元組。
返回值:如果對象的類型與classinfo類型相同則返回 True,否則返回 False。
1 2 3 4 | a=2 isinstance(a,int) # 結(jié)果返回 True isinstance(a,str) # 結(jié)果返回 False isinstance(a,(str,int,list)) # 是元組中的一個,結(jié)果返回 True |
isinstance() 會認為子類是一種父類類型,考慮繼承關(guān)系。
type() 不會認為子類是一種父類類型,不考慮繼承關(guān)系。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com
@File:python_isinstance.py @Time:2019/11/22 21:25
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! """
classAnimation: pass
classDog(Animation): pass
print(isinstance(Animation(),Animation)) # returns True print(type(Animation())==Animation) # returns True print(isinstance(Dog(),Animation)) # returns True print(type(Dog())==Animation) # returns False |
輸出結(jié)果:
1 2 3 4 | True True True False |
代碼分析:
創(chuàng)建一個Animation對象,再創(chuàng)建一個繼承Animation對象的Dog對象,使用 isinstance() 和 type() 來比較 Animation() 和 Animation時,由于它們的類型都是一樣的,所以都返回了 True。
而Dog對象繼承于Animation對象,在使用isinstance()函數(shù)來比較 Dog() 和 Animation時,由于考慮了繼承關(guān)系,所以返回了 True,使用 type() 函數(shù)來比較 Dog() 和 Animation時,不會考慮 Dog() 繼承自哪里,所以返回了 False。
如果要判斷兩個類型是否相同,則推薦使用isinstance()。
本文題目:python中isinstance函數(shù)的介紹
標題來源:http://aaarwkj.com/article10/gjcido.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、服務(wù)器托管、面包屑導航、手機網(wǎng)站建設(shè)、微信公眾號、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)