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