Python:导入模块和库

斯里尼

以下陈述有什么区别:

  1. import os

  2. from os import *

它们的意思是一样的吗?如果是这样,为什么有两种说法?

米海·梅赫

import os

将名称 os 带入命名空间,因此 os 名称变得唯一。

所以 usingos.read(fd, n)将从文件描述符 fd 中读取 n 个字节。

from os import *

将模块 os 中的所有名称带入全局命名空间。这样我们就可以read(fd,n)直接使用了

问题from os import *

如果我们在本地命名空间中有自己的函数 read(fd,n) ,通过使用from os import *我们会得到 2 个同名的函数,解释器使用具有该名称的本地函数。

如果我们创建一个模块,其 read(fd,n) 函数与 os 模块中的函数同名(两个函数名都在全局命名空间中),解释器将只使用其中一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章