Проверка существования свойства в ООП в Python
Иногда нужно узнать, есть ли у объекта
свойство с заданным именем, прежде чем
обращаться к нему. Для этого в Python
есть функция hasattr. Первым
параметром передают объект, вторым -
имя свойства строкой.
Функция возвращает True, если
свойство существует, и False,
если нет:
class Test:
def __init__(self):
self.prop1 = 1
test = Test()
print(hasattr(test, 'prop1')) # выведет True
print(hasattr(test, 'prop2')) # выведет False
Сделайте класс Test со свойством prop1
и без свойства prop2. Проверьте, что
выведет функция hasattr для
свойства prop1 и для свойства
prop2.
Дан массив со свойствами класса. Дан также класс, имеющий часть из этих свойств. Переберите этот массив циклом, для каждого свойства проверьте, существует ли оно в классе и, если существует, выведите на экран значение этого свойства.