1、任何以.py结尾的文件都是模块。每个导入的模块都有自己的命名空间,所以调用函数时,需要指定函数所在的的命名空间,否则会报错。
def hi(): print('hello world!') ################### import A21 >>> hi() Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> hi() NameError: name 'hi' is not defined >>> A21.hi() hello world!
2、模块导入的方式与区别。
第一种:import 模块名。用着种方式导入模块时,每次调用导入的模块中的函数时,必须采用 模块名.函数名()的形式,而有时候模块名会比较长,所以这种方法会比较麻烦。
第二种:from 模块名 import 函数名(*表示导入所有函数)。从模块中导入指定的函数(名),这种方式导入了指定函数的命名空间,调用时不用加模块名。注意:如果在不同模块中都相同名字的函数,而且同时用这种方法导入,就会因为名字混乱发生冲突。
第三种:import 模块名 as 新名字。用简单的名字替代原来较长的名字,从而达到简化的效果。
def hi(): print('hello world!') ################### import A21 >>> hi() Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> hi() NameError: name 'hi' is not defined >>> import A21 as A >>>A.hi() hello world!