Python基础学习-14:模块的浅解

  • A+
所属分类:python基础入门

一、包:在创建许多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式

通常包是一个目录,可以使用import导入包,或者from...import来导入包中的部分模块。包目录下必须存在的一个文件是_init_.py,否则会python就会把这个目录当成一个普通的目录,而不是一个包。然后是一些模块文件和子目录,假如子目录中也有_init_.py,那么它就是这个包的子包了。

二、模块:在Python中,一个.py文件就称之为一个模块(Module)。在创建了一个脚本文件后,定义了某些函数和变量。在其他需要这些功能的文件中,导入这个模块,就可以重用这些函数和变量。模块的好处是大大提高了代码的可维护性。其次,编写代码时,不必每个功能都亲力亲为了。同时,也解决了不同模块之间的全局变量的重名问题,以及多个模块组成的包时,模块的重名问题。

2.1导入方法

  • import的语法:import module1[,module2[,....N]]]

import命令可以导入模块和包,能否被导入,取决于其是否在系统搜索路径中。导入内置模块sys后可以查看sys.path内容确定系统搜索路径。

一般用module_name.fun_name来引用模块的函数;用moudle_name.var_name来引用模块中的变量。modoule_name即为文件名去掉.py的后缀

  • from...import的语法: from modname import name1[,name2[,...N]]]

“ from 模块 import 对象 ”可以导入模块中的对象,多个对象可以用逗号隔开或用*导入所有的对象,这种导入方式是将对象导入到当前模块中,所以导入的对象不能和当前模块中的对象同名。

一般可直接使用导入的对象,不需要通过module_name.fun_name的方法了。

2.2搜索路径

Python在import module的时候,是按照以下顺序去搜索模块的位置的:

1.首先判断这个module是否是built-in即内建模块,如果是则引入内建模块,如果不是则在一个称为sys.path的list中寻找。

2.sys.path在python脚本执行时动态生成,包括以下3个部分:

2.1.当前目录;

2. 2.如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录,即.bash_profile;

2.3.如果都找不到,Python会察看默认路径,即安装python时的依赖位置。

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: