Page 41 - 6734
P. 41

obj.a=4 # зміна значення атрибута екземпляра
           print A.__dict__ # {'a': 3, 'x': 2, '__module__':
           '__main__', '__doc__': None}
           print obj.__dict__ # {'a': 4}
           print B.__dict__ # {'__module__': '__main__', 'b': 0,
           '__doc__': None}
           print dir(B) # ['__doc__', '__module__', 'a', 'b',
           'x']
           print B.a # 3
           B.a=5 # зміна значення атрибута класу
           print B.a # 5
           print A.a # 3

           {'a': 1, 'x': 2, '__module__': '__main__', '__doc__':
           None}
           1
           2
           {'a': 3, 'x': 2, '__module__': '__main__', '__doc__':
           None}
           {'a': 4}
           {'__module__': '__main__', 'b': 0, '__doc__': None}
           ['__doc__', '__module__', 'a', 'b', 'x']
           3
           5
           3
                          Статичні методи та методи класу

               Статичний  метод  –  це  функція,  яка  визначена  в  класі,  але  не
           належить класу чи екземпляру [19]. Метод класу – це метод, який
           належить  класу,  а  не  екземпляру  [19].  Метод  класу  має  перший
           аргумент  cls  (клас),  а  не  self  (екземпляр).  Статичні  методи  і
           методи    класу   визначаються    за   допомогою     декораторів
           @staticmethod і @classmethod.

           class A: # визначення класу A

                                          40
   36   37   38   39   40   41   42   43   44   45   46