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