Доступ к ключам dict как к атрибуту?

Мне удобнее пользоваться ключами dict как obj.foo вместо obj ['foo'] , поэтому я написал этот фрагмент:

class AttributeDict(dict):
    def __getattr__(self, attr):
        return self[attr]
    def __setattr__(self, attr, value):
        self[attr] = value

Однако я предполагаю, что должна быть какая-то причина, по которой Python не t предоставляют эту функциональность из коробки. Каковы будут предостережения и подводные камни при доступе к ключам dict таким способом?

269
задан Stabledog 8 November 2019 в 09:47
поделиться

1 ответ

Это - то, что я использую

args = {
        'batch_size': 32,
        'workers': 4,
        'train_dir': 'train',
        'val_dir': 'val',
        'lr': 1e-3,
        'momentum': 0.9,
        'weight_decay': 1e-4
    }
args = namedtuple('Args', ' '.join(list(args.keys())))(**args)

print (args.lr)
0
ответ дан 23 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: