Я пытаюсь применить некоторые лучшие практики, чтобы мой код на Python работал эффективно. Я слышал, что доступ к переменной-члену внутри цикла может повлечь за собой поиск в словаре для каждой итерации цикла, поэтому я кеширую их в локальных переменных для использования внутри цикла.
Мой вопрос касается самого оператора цикла ... если у меня есть следующий класс:
class A(object):
def __init__(self)
self.myList = [ 'a','b','c', 'd', 'e' ]
Имеет ли следующий код в функции-члене поиск в словаре по одному или по одной на цикл-итерацию (5)?
for letter in self.myList:
print letter
IE, я должен принять следующий шаблон, если я обеспокоен эффективностью ...
localList = self.myList
for letter in localList:
print letter
или это действительно МЕНЬШЕ эффективно из-за присваивания локальной переменной?
Обратите внимание, я знаю, что ранняя оптимизация - опасная ловушка, если я беспокоюсь об общей эффективности разработки кода. Здесь я специально спрашиваю об эффективности кода, а не о кодировании.