Nieco nieobyczajne pytanie dotyczące najlepszej praktyki. Dynamicznie wyszukuję wartości atrybutów obiektów, używając jako przyzwyczajenia object.__dict__[some_key]
. Teraz zastanawiam się, który jest lepszy/szybszy: mój obecny nawyk lub getattr(object,some_key)
. Jeśli jeden jest lepszy, dlaczego?getattr() versus dict lookup, który jest szybszy?
>>> class SomeObject:
... pass
...
>>> so = SomeObject()
>>> so.name = 'an_object'
>>> getattr(so,'name')
'an_object'
>>> so.__dict__['name']
'an_object'
Dlaczego nie spróbować obu i zobaczyć, który jest szybszy? –