Page 40 - 6734
P. 40

obj=B(1,2) # створення об'єкта obj класу B, виклик
           конструктора (a=1,b=2)
           print obj.a, obj.b # вивести значення атрибутів
           print obj.f(2) # виклик методу f, описаного в класі B
           print A.f(obj,2) # виклик методу f, описаного в класі
           A
           print obj.f2() # виклик методу f2
           del obj # знищити об'єкт
           #print obj.a # помилка! Об'єкта не існує

           1 2
           4
           3
           3

                        Атрибути класу і атрибути екземпляра
               Важливо  розрізняти  атрибути  класу  і  атрибути  об’єкта  цього
           класу  [16].  Екземпляр  успадковує  значення  атрибутів  класу.  Для
           перегляду атрибутів застосовуйте атрибут __dict__, який містить
           словник з атрибутами об’єкта, і функцію dir, яка повертає список
           атрибутів об’єкта.
           class A(): # клас A
               a=0 # атрибут класу
           class B(A): # клас B
               b=0 # атрибут класу
           A.a=1 # зміна значення атрибута класу
           A.x=2 # створення нового атрибута класу та зміна його
           значення
           print A.__dict__ # {'a': 1, 'x': 2, '__module__':
           '__main__', '__doc__': None}
           obj=A() # створити екземпляр класу A
           print obj.a # 1
           print obj.x # 2
           A.a=3 # зміна значення атрибута класу

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