12-1.路径搜索和搜索路径。路径搜索和搜索路径之间有什么不同?
路径搜索和搜索路径是两个不同的概念,前者是指查找某个文件的操作,是一个搜索过程;而后者是去查找一组目录,是实际存在的一条路径。当模块不在搜索路径里,从而导致了路径搜索的失败。
12-2.导入属性。假设你的模块mymodule里有一个foo()函数。
(a)把这个函数导入到你的名称空间有哪两种方法?
from mymodule import foo
import mymodule.foo()
(b)这两种方法导入后的名称空间有什么不同?
调用from-import可以把名字导入当前的名称空间里去。使用import通过句点属性标识指定了各自的名称空间,可以防止名称冲突的发生,使用句点属性和from-import作用一致。
12-3.导入“import module”和”from module import *“有什么不同?
使用from-import可以使名字导入当前名称空间,从而不用使用句点属性调用。
12-4.名称空间和变量作用域。名称空间和变量作用域有什么不同?
名称空间是纯粹意义上的名字和对象间的映射关系,而作用域还指出了从用户代码的哪些物理位置可以访问到这些名字。
12-5.使用__import__()。
(a)使用__import__把一个模块导入到你的名称空间。你最后使用了什么样的语法?
__import__('sys')
(b)和上边相同,使用__imp