从性能角度来看(时间或内存),哪种做法更好:
import pandas as pd
或者
from pandas import DataFrame, TimeSeries
最好的方法是基于我从包中导入了多少类吗?
同样地,我见过人们做这样的事情:
def foo(bar):
from numpy import array
为什么我想在函数或方法定义中进行导入?这不意味着每次调用函数时都要执行导入吗?还是为了避免命名空间冲突?
从性能角度来看(时间或内存),哪种做法更好:
import pandas as pd
from pandas import DataFrame, TimeSeries
最好的方法是基于我从包中导入了多少类吗?
同样地,我见过人们做这样的事情:
def foo(bar):
from numpy import array
为什么我想在函数或方法定义中进行导入?这不意味着每次调用函数时都要执行导入吗?还是为了避免命名空间冲突?
import X as Y
和from X import Y
都是不好的做法,因为显式优于隐式。你不想在第2000行尝试记住“calculate_mean”来自哪个包,因为它在代码中没有被引用。当我第一次开始使用numpy时,我从互联网上复制/粘贴代码,但无法弄清楚为什么我不能pip install np
。如果您具有关于“np”是Python中“numpy”的知识,则这显然不是问题,但对于它所节省的3个字母而言,这是一个愚蠢且无意义的困扰。它源自numpy。使用numpy。MSDN:提高应用程序启动性能的最佳实践在某种程度上,用户根据启动应用程序所需的时间来判断其快慢。
在主脚本开始时加载每个模块可能需要一些时间。例如,我的一个应用程序使用了Qt框架、Pandas、Numpy和Matplotlib。如果所有这些模块都在应用程序的开头被导入,用户界面的出现会延迟几秒钟。用户不喜欢等待,因此他们可能会认为您的应用程序总体上很慢。
但是,如果例如Matplotlib仅从调用绘图命令的那些函数中导入,启动时间就会明显缩短。用户不再感觉您的应用程序那么缓慢,这可能会带来更好的用户体验。