为什么Python import语句不使用括号?

时间:2019-09-23 19:40:43

标签: python import keyword

我了解关键字在Python中作为保留字的概念,不应将其用作标识符。让我感到困惑的是,除了这种通用性之外,关键字在我看来似乎以不同的方式使用。例如,import和del语句似乎只用作一个参数的函数,而其他关键字(例如if和while)用于制作复合语句。我的问题是,如果某些关键字(例如import)以与函数相同的方式使用,那么语法为何不同(即不使用括号)。对我而言,将print用作功能而不是之前将其用作关键字是更加直观的。这可能会使新学习者感到困惑,该新学习者的第一个陈述通常是导入的,其语法似乎类似于人类语言中的不规则动词。

2 个答案:

答案 0 :(得分:2)

您想得太辛苦了。有可以导入的函数,但是语句import简化了实现(对我们用户而言)。考虑一下,(如果只是)一个函数,则必须用引号引起来。import('foo.py')。 Python2 print的击键方式并没有真正节省很多。

如果需要功能,可以使用它,请考虑《 Python语言参考》的第一段。

  

5。导入系统

     

一个模块中的Python代码通过导入过程可以访问另一个模块中的代码。 import语句是调用导入设备的最常用方法,但不是唯一的方法。诸如importlib.import_module()和内置__import __()之类的函数也可以用于调用导入机制。

答案 1 :(得分:1)

导入绑定名称并删除取消绑定的名称,因此这些必须是语句。

importdel不能成为函数的简单原因是,函数无法在调用名称空间中添加/删除。函数的主体实际上没有访问调用者名称空间的权限(某些实现特定的框架黑客除外)。

  

请注意,由于del 不能的语义,del a从当前名称空间中删除a。函数无法从调用名称空间中删除某些内容

Guido van Rossum, 1 Aug 1994