2016-10-04 2 views
0

Возможно ли это как можно?Возвращаемый атрибут объекта, заданное строковое имя атрибута

Я спрашиваю, потому что я знаю имя атрибута Я буду называть, а объект имеет довольно много атрибутов, и поэтому я мог сделать массивный if/elif блок, но это было бы некрасиво и труднее поддерживать.

+0

Один из способов хранения переменных в словаре –

ответ

3

Возможно, это то, что getattr функция.

def fetch(ob, attr) 
    return getattr(ob, attr) 

Очевидно, что вы можете просто использовать getattr непосредственно.

+1

Конечно, повторное выполнение 'getattr' как' fetch' довольно избыточно ... – deceze

+1

Конечно, я не буду его повторно реализовывать, я просто буду использовать 'getattr' =). Дело было в том, чтобы показать простой пример @deceze. – emihir0

Смежные вопросы