python - 为什么 "import"是一个语句,而 "reload"是一个函数?

标签 python

我知道如何使用两者,但我很好奇为什么决定让一个成为声明而另一个成为函数。

最佳答案

首先,您可以使用函数导入,来自 importlib's documentation :

The __import__() function
The import statement is syntactic sugar for this function.

例如这两个语句是等价的:

from random import randint as random_int

random_int = __import__("random").randint

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

如果 reload 是它自己的语句,我也可以想象很多新手程序员会犯这个错误:

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

由于reload 函数需要一个模块(不是用from _ import * 推导出来的)编码人员可能想知道为什么不重新加载导入的名称。与this answer有关

关于python - 为什么 "import"是一个语句,而 "reload"是一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36841844/

相关文章:

python - 检测 Python urllib2 urlopen 中的超时错误

python - Emacs Pymacs Ropemacs 在 goto 定义后返回到上一个文件

Python Matplotlib : Clear figure when figure window is not open

python - 从具有特殊格式的 URL 结果中提取数据

python - 匹配逗号分隔的键=值列表的正则表达式,其中值可以包含逗号

python - Django - 在 try-except 代码中发送错误报告电子邮件

python - BeautifulSoup 删除嵌套标签

python - 我需要在 Replit 上播放声音方面的帮助

python - np.ones 更改为元组并且 np.asarray 没有修复它

python - 根据python中的条件更新多个列值