python学习之美味可口的“包“和“模块“

模块

什么是模块
python中的模块,是一个python文件,后缀名为.py,包含了python对象定义和python语句,模块中也能定义函数,类,变量,模块里也能包含可执行代码.

导入模块的方法

1.import 模块名[,模块名,模块名,…]

2.from 模块名 import 功能名称[,功能名称,功能名称,…]

3.from 模块名 import *(导入所有功能)

4.import 模块名 as 别名

5.from 模块名 import 功能名称 as 别名

制作模块

在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名称必须要符合标识符命名规则

模块测试

在实际开发中,当一个开发人员写完一个模块后,为了模块能够在项目中达到想要的效果,这个开发人员必须在创建这个模块中的功能时,需要对模块中的每个功能进行测试

一般情况下测试的方案也有很多种:
1.重新创建一个测试python文件,然后倒入模块调用功能测试

2.直接也可以在模块文件中直接进行测试,但是如果稍不注意会导致测试的代码在应用场景中被调用

3.其实测试的目标指的是如果直接在模块中测试,相当于只有在模块中执行的时候才执行模块中的测试代码

name:是查看当前的运行的函数名称

mian:指的是主函数名称

模块的定位顺序

当导入一个模块,python解析器对模块的位子的搜索顺序是:
1.当前目录

2.如果不在当前目录,python则搜索在shell变量pythonpath下的每个目录.

3.如果都找不到,Python会查看默认路径。UNIX下,默认路径/user/local/lib/Python
windows下:默认路径当前python.exe里面的lib

模块搜索路径存储在system模块的sys.path变量中。变量包含当前目录,PythonPath由安装过程决定

注意:

1.自己的文件名不要和已有模块的文件名重复,否则会导致模块功能无法使用
2.使用from 模块名 import功能的时候,如果功能名字重复,调用到的是最后定义的或导入的功能

3.导入了模块之后的程序代码中的变量一般不能和模块的名称一致,否自在调用模块的时候,这个名称已经是变量了,不在是模块,因为Python中的变量是引用

_all_的使用

如果一个模块文件中有__all__变量,当使用from xxx import 导入时,只能导入这个列表中的元素,指的是将通配符()进行添加筛选

通过all进行对进行筛选,只有被筛选中的all里面的功能才是能够代替的

包将有联系的模块组织在一起,放在同一个文件夹下面,并且在这个文件夹里面创建一个名字为__init__.py文件,那么这个文件夹就称之为包

制作包

项目中右键【new】-【Python Package】-包名-【OK】

注意:包是否创建正确,检查在包创建好之后是否自动创建一个init.py文件。

__init__文件的作用:控制着包的导入行为

导入包

import 包名.模块名

包名.模块名.功能名

从测试角度而言如果对于包中的模块要求不高,这个包中的所有模块都可能被使用,那么不管是创建一个文件夹还是创建Python包基本上没有什么区别。只不过包里面自动创建了一个init的python文件。

包还有其他的导入方式
和模块一样的导入方式
nit文件的作用类似于模块中的_all_的作用,在init文件中同样添加一行__all__对应的列表中,可以选择被导入的模块的名字

通配符自动筛选这些模块

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值