Проверка существования атрибута в ООП в 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.
Дан массив с атрибутами класса. Дан также класс, имеющий часть из этих атрибутов. Переберите этот массив циклом, для каждого атрибута проверьте, существует ли он в классе и, если существует, выведите на экран значение этого атрибута.