Python isinstance()

1972 ワード

The isinstance() function checks if the object (first argument) is an instance or subclass of classinfo class (second argument).
The syntax of isinstance() is:
isinstance(object, classinfo)

  
isinstance() Parameters
 The isinstance() takes two parameters:
  • object -  object  to be checked
  • classinfo - class, type, or tuple of classes and types

  • Return Value from isinstance()
    The isinstance() returns:
  • True  if the object is an instance or subclass of a class, or any element of the tuple
  • False  otherwise

  • If classinfo is not a type or tuple of types, a  TypeError  exception is raised.
    Example 1: How isinstance() works?
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))


    When you run the program, the output will be:
    True
    False
    True

      
    Example 2: Working of isinstance() with Native Types
     
    numbers = [1, 2, 3]
    
    result = isinstance(numbers, list)
    print(numbers,'instance of list?', result)
    
    result = isinstance(numbers, dict)
    print(numbers,'instance of dict?', result)
    
    result = isinstance(numbers, (dict, list))
    print(numbers,'instance of dict or list?', result)
    
    number = 5
    
    result = isinstance(number, list)
    print(number,'instance of list?', result)
    
    result = isinstance(number, int)
    print(number,'instance of int?', result)


    When you run the program, the output will be:
    [1, 2, 3] instance of list? True
    [1, 2, 3] instance of dict? False
    [1, 2, 3] instance of dict or list? True
    5 instance of list? False
    5 instance of int? True

     
    転載先:https://www.cnblogs.com/Xingtxx/p/11046070.html