Page 51 - 6734
P. 51

obj.a=1 # зміна значення атрибута a
           obj.f() # виклик методу f

           print dir(B) # список імен атрибутів класу B
           print dir(obj) # список імен атрибутів об'єкта obj
           print id(obj) # унікальний ідентифікатор об'єкта
           print obj.__sizeof__() # розмір об'єкта в пам'яті в
           байтах
           print B.__doc__ # рядок документації класу B
           print obj.f.__doc__ # рядок документації методу f
           print B.__name__ #  ім'я класу B
           print __name__ # ім'я модуля
           print type(obj) # тип (клас) об'єкта obj
           # або obj.__class__
           print obj.__class__.__name__ # ім'я типу об'єкта obj
           print vars(obj) # словник із парами атрибут:значення
           # або obj.__dict__
           print hasattr(obj, 'a') # чи є атрибут 'a' у об'єкта
           obj?
           setattr(obj, 'a', 3) # зміна значення (3) атрибута
           'a' об'єкта obj
           # або obj.__setattr__('a',3)
           print getattr(obj, 'a') # значення атрибута 'a'
           об'єкта obj
           # або obj.__getattribute__('a')
           # або obj.__dict__['a']
           print callable(obj.f) # чи атрибут f є методом?
           print isinstance(obj, B) # чи obj є екземпляром B?
           print issubclass(A, object) # чи A є підкласом
           object?
           print A.__subclasses__() # підкласи A
           print B.__bases__ # кортеж базових класів
           print B.__mro__ # кортеж з ієрархією базових класів

           ['__class__', '__delattr__', '__dict__', '__doc__',
           '__format__', '__getattribute__', '__hash__',
                                          50
   46   47   48   49   50   51   52   53   54   55   56