为什么“导入”一个语句但“重新加载”一个函数?

时间:2016-04-25 13:22:29

标签: python

我知道如何使用两者,但我很好奇为什么决定制作一个陈述而另一个是一个功能。

1 个答案:

答案 0 :(得分:7)

首先,您可以使用importlib's documentation

中的函数导入
  

__import__()功能
     import语句是此函数的语法糖。

例如,

这两个陈述都是等价的:

from random import randint as random_int

random_int = __import__("random").randint

然而,import语句从备用语法中获益匪浅,因为reload实际上没有任何替代含义。

我还可以想象很多初学者程序员如果重新加载它是自己的陈述就犯了这个错误:

from random import *
reload random #does not affect the current namespace!

由于reload函数需要一个模块(不会被from _ import *引用),编码器可能会想知道为什么导入的名称不会重新加载。与this answer

相关