Skip to main content
 首页 » 编程设计

python之在循环语句中访问python类成员容器效率低吗

2025年05月04日19youxin

我正在尝试采用一些最佳实践来保持我的 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 

或者由于局部变量赋值,实际上效率较低?

请注意,如果我关心代码开发的整体效率,我知道早期优化是一个危险的陷阱。这里我特意问的是代码的效率,不是编码。

请您参考如下方法:

从 self.myList 创建一个迭代器,并使用该迭代器。没有对 self 进行迭代的其他额外查找。