python模块导入

模块定义:包下面的.py文件

模块导入的几种方式:

1、当你需要引入某个模块时可以直接:import xxxx-------------->xxxx :表示模块名

      这时你要调用XXXX模块里面的属性和方法时:直接 xxxx.属性名

     例子:

 2、如果要导入的模块中有很多个属性和方法,这个时候可以:from xxxx import 方法名,属性名或者*(表示导入该模块的所有属性和方法)

     这时你要调用XXXX模块里面的属性和方法时,直接写模块的方法和属性,不需要带模块名了

   例子:

有一个问题:如果导入模块与当前模块里都有一个方法叫method,在调用时,会当前的method方法会覆盖导入模块中的method方法。要解决这个问题可以:from fuc import method as mth,需在调用fuc中的method方法只需要mth()即可。

包:每个包下面会有一个_init_.py文件,这个文件是干嘛用的?导入包的本质就是解释包下面的_init_.py文件,先去执行这个文件

=================================以上的导入均是在同一级目录进行导入================================

问题:想要导入不在同一级目录下的模块,该如何导入?

直接导入,会报错:

原因是:fuc的路径没有存到path里面。可以打印一下sys.path查看:

没有指向'C:\\Users\\Administrator\\PycharmProjects\\project1\\venv‘这一级目录。

处理办法:将要导入的模块路径添加到环境变量中:

问题:导入包后如何能直接调用包下面的模块的方法:

           直接包名+模块名+方法是否可以直接调用呢?

如 何解决?我们知道import 包,其实就是执行包下面的__init__.py,

但是空的--init--.py这个文件里头并没有导入fuc这个模块,于是可以在这个文件里手动导入该模块

修改被调用的包下面的__init__.py即可