Câu hỏi thực hành tốt nhất, hơi ngớ ngẩn. Tôi tự động tra cứu các giá trị thuộc tính đối tượng bằng cách sử dụng object.__dict__[some_key]
như là một vấn đề của thói quen. Bây giờ tôi tự hỏi cái nào là tốt hơn/nhanh hơn: thói quen hiện tại của tôi hoặc getattr(object,some_key)
. Nếu một là tốt hơn, tại sao?getattr() so với tra cứu dict, nhanh hơn?
>>> class SomeObject:
... pass
...
>>> so = SomeObject()
>>> so.name = 'an_object'
>>> getattr(so,'name')
'an_object'
>>> so.__dict__['name']
'an_object'
Tại sao không thử cả hai và xem cái nào nhanh hơn? –