美文网首页程序员
python内置函数isinstance的用法

python内置函数isinstance的用法

作者: 豌豆花下猫 | 来源:发表于2017-07-22 18:32 被阅读241次

    isinstance说明如下:
    isinstance(object, class-or-type-or-tuple) -> bool

    Return whether an object is an instance of a class or of a subclass thereof.  
    With a type as second argument, return whether that is the object's type.  
    The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for  
    isinstance(x, A) or isinstance(x, B) or ... (etc.).  
    

    其第一个参数为对象,第二个为类型名或类型名的一个列表。其返回值为布尔型。若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。

    例一

    >>>a = 4
    >>>isinstance (a,int)
    True
    >>>isinstance (a,str)
    False
    >>>isinstance (a,(str,int,list))
    True
    

    例二

    >>>a = "b"
    >>>isinstance(a,str)
    True
    >>>isinstance(a,int)
    False
    >>>isinstance(a,(int,list,float))
    False
    >>>isinstance(a,(int,list,float,str))
    True
    

    例三

    '''取出一个列表中的元素,其中有的元素可能是列表或者元祖'''
    
    def myextend(alist):
        blist = []
        for item in alist:
            if isinstance(item, (list, tuple)):
                blist.extend(myextend(item))
            else:
                blist.append(item)
        return blist
    
    alist = [1, 2, [3, 4], 5, [6, ["7", "8"], 9], 10, (11, 12)]
    blist = myextend(alist)
    print(blist)
    
    >>> [1, 2, 3, 4, 5, 6, '7', '8', 9, 10, 11, 12]
    

    相关文章

      网友评论

        本文标题:python内置函数isinstance的用法

        本文链接:https://www.haomeiwen.com/subject/ebiukxtx.html