四.python面试题 内置函数instance getattr setattr hasattr

时间:2022-06-02 00:14:57
  • isinstance  
  •   
  • isinstance(object, classinfo)   
  • 判断实例是否是这个类或者object是变量  
  •   
  • classinfo 是类型(tuple,dict,int,float)  
  • 判断变量是否是这个类型   
  •   
  • class objA:   
  • pass   
  •   
  • A = objA()   
  • B = 'a','v'   
  • C = 'a string'   
  •   
  • print isinstance(A, objA)   
  • print isinstance(B, tuple)   
  • print isinstance(C, basestring)   
  • 输出结果:   
  • True   
  • True   
  • True  
  • >>> class MyObject(object):
    ... def __init__(self):
    ... self.x = 9
    ... def power(self):
    ... return self.x * self.x
    ...
    >>> obj = MyObject()

    紧接着,可以测试该对象的属性:

    >>> hasattr(obj, 'x') # 有属性'x'吗?
    True
    >>> obj.x
    9
    >>> hasattr(obj, 'y') # 有属性'y'吗?
    False
    >>> setattr(obj, 'y', 19) # 设置一个属性'y'
    >>> hasattr(obj, 'y') # 有属性'y'吗?
    True
    >>> getattr(obj, 'y') # 获取属性'y'
    19
    >>> obj.y # 获取属性'y'
    19