Есть ли стандартный метод такому коду?
Знаю, что есть .__ getattribute__(), но он ругается если нет поля у объекта.
Решил реализовать так:
def my_getattribute(obj, key):
return obj.__getattribute__(key) if key in obj.__dir__() else None
class SampleClass():
id = '123'
s = int(10)
s2 = SampleClass()
print(my_getattribute(s, 'id')) #None
print(my_getattribute(s2, 'id')) #123
Сам вопрос: есть ли более оптимальный способ или стандартный метод (на подобии .get() у словаря), а то тут получается, что я 2 раза пробегаю по полям объекта
Источник: Stack Overflow на русском