四.python面試題 內置函數instance getattr setattr hasattr

  1. isinstance  
  2.   
  3. isinstance(object, classinfo)   
  4. 判斷實例是否是這個類或者object是變量  
  5.   
  6. classinfo 是類型(tuple,dict,int,float)  
  7. 判斷變量是否是這個類型   
  8.   
  9. class objA:   
  10. pass   
  11.   
  12. A = objA()   
  13. B = 'a','v'   
  14. C = 'a string'   
  15.   
  16. print isinstance(A, objA)   
  17. print isinstance(B, tuple)   
  18. print isinstance(C, basestring)   
  19. 輸出結果:   
  20. True   
  21. True   
  22. True  
  23. >>> 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
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章