概念Python模块是一个以.py结尾的Python文件,里面包含了Python对象定义和Python语句。每个模块在python中被视为一个独立的文件。模块可以被其他程序导入来使用模块中的函数和其他函数,这也是使用python标准库的方式。ModuleImportModules可以导入其他模块,习惯上把所有的import语句放在模块的开头(不是必须的)。导入模块有几种方法:方法一:使用import语句导入模块importmodule1[,module2[,...moduleN]]#比如导入一个path模块,importpath直接使用关键字import,后面跟着通过具体的模块名称,可以导入一个模块。同一个模块无论导入多少次,都只会导入一次,防止模块被反复执行。导入模块后,如果要调用模块中的函数,必须是:模块名。functionname方法二:使用from...import语句导入模块frommodnameimportname1[,name2[,...nameN]]#例如,导入pprint模块的pprintfrompprintimportpprint会导入使用import语句导入模块时是整个模块,使用from...import语句将模块中的指定部分导入到当前命名空间中。如上面代码,只会导入pprint模块中的pprint函数,其他函数不会导入。import语句引入模块后,如果需要使用模块中的function方法,需要添加模块限定名,而from...import语句则不需要添加模块限定名,并直接使用它的函数方法;#第一种方法importpprintpprint.pprint("helloworld")#第二种方法frompprintimportpprintpprint("helloworld")方法三:使用from...import*语句导入模块from...import*语句表示将一个模块Import的所有内容导入到当前命名空间中。frommodnameimport*在大多数情况下,Python程序员不会使用这个特性,因为它向解释器中引入了一组未知的名称,它们很可能会覆盖一些你已经定义的东西。请注意,通常不接受从模块或包内调用*,因为这通常会导致代码可读性差。但是,它可以用于交互式编译器以节省输入。模块的好处大大提高了代码的可维护性;代码不必从头开始,编写一个模块后,可以直接调用其他模块,节省工作时间;避免函数名和变量名重复,不同模块中可以存在同名的函数名和变量名,但尽量不要与系统内置模块重名;当模块的__name__属性第一次被另一个程序引入时,它的主程序将运行。如果我们不想在导入模块时执行模块中的块,我们可以使用__name__属性使该块仅在模块本身运行时执行。每个模块都有一个__name__属性。当它的值为'__main__'时,表示模块本身正在运行,否则为导入。if__name__=="__main__":print("Themoduleitselfisrunning")模块搜索路径searchpath由一系列目录名组成,Python解释器依次从这些目录中搜索导入的模块。导入模块时,模块的搜索路径为:程序根目录、PYTHONPATH环境变量设置的目录、标准库目录、可找到的任意.pth文件内容、第三方扩展的site-package目录PYTHONPATH变量PYTHONPATH是Python中PYTHONPATH中的一个重要环境变量,用于导入模块时搜索路径,访问方式如下:importsyssys.path作为环境变量,PYTHONPATH由以下部分组成许多目录安装在一个列表中。PYTHONPATH的语法与shell变量PATH的语法相同。在Windows上,典型的PYTHONPATH如下:setPYTHONPATH=c:\python37\lib;
