PEP 8 规定导入语句位于模块的顶部,这让一些人质疑导入未使用的类或尽早发挥作用。进行比较:
class SomeClass(object): def not_often_called(self): from datetime import datetime self.datetime = datetime.now()
与
from datetime import datetime class SomeClass(object): def not_often_called(self): self.datetime = datetime.now()
延迟导入比提前导入更高效吗?
虽然模块导入很快,它确实会产生成本。通过将导入放在模块的开头,这种微不足道的费用只需支付一次。然而,将导入限制在函数内部会延长每次函数调用的运行时间。
因此,为了获得最佳效率,请将导入放在最前面。仅当分析显示性能瓶颈时才考虑延迟导入。
除了效率之外,延迟导入的其他理由包括:
以上是顶部导入还是不导入:提前导入比延期导入更高效吗?的详细内容。更多信息请关注PHP中文网其他相关文章!