python模块与包,以及一些常用的模块

友情提示:查看博客前,请打开目录,查找内容。感谢您前来参考,希望对您有用

模块

什么是模块

最常见的场景,一个模块就是包含了一组功能的python文件,例如module.py,模块名是module

1、使用python编写的.py文件
2、已被编译为共享库或者DLL的C或C++扩展
3、把一系列模块组织到一起的文件夹(注:文件夹下有一个init.py文件,该文件夹称之为包)
4、使用c编写并链接到python解释器的内置模块

为什么要用模块

1、从文件级别组织程序、更方便管理
2、拿来主义,提升开发效率

如何使用模块->import xxxx
1、第一次导入模块,会发生3件事,重复导入只会引用之前加载好的结果

1、产生一个新的名称空间
2、运行xxxx.py代码,产生的名字都存放于1的名称空间中,运行过程中global关键字执行的就是该名称空间
3、在当前名称空间拿到一个名字xxxx,该名字指向1的名称空间
强调:
被导入的模块在执行过程中使用自己独立的名称空间作为全局名称空间

2、起别名:import xxxx as xx
3、一行导入多个模块:import time,sys,xxxx
4、如何使用模块->from 模块名 import 名字

优点:引用时不用加前缀,简单
缺点:容易与当前名称空间的名字冲突

from spam import money as m
from spam import money,read1,read2,change
from spam import * #*号这个*只能导入模块spam中不是_开头的变量或者函数,或者只能导入在文件首部定义了__all__=['money','read1']
5、一个python文件的俩种用途

1、当做脚本执行:name==’main
2、当做模块被导入使用:name==’模块名’

6、模块的搜索路径

模块导入的搜索路径,先在内存中找,没有再找内置模块,然后再找sys.path中的模块

内存->内置模块->sys.path

相关模块使用
sys模块
#sys.path.append('')添加一个目录到path变量中
#print(sys.path)打印当前path变量中的路径
sys.path.append(r'D:\python20期课程\day5')
print(sys.path)
os模块
os.path.abspath(__file__)#打印当前文件绝对路径
os.path.dirname(__file__) #打印当前文件本层目录路径
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  #打印当前文件的上一层目录
os.path.join('D:\\','log','eror.log') #拼接路径

包的使用

什么是包

包就是一个包含了init.py文件的文件夹(可以往该文件夹下放一堆子模块)

包的使用

注意:但凡是在导入时,出现 . , 这是导入包才有的语法, .的左边必须是一个包,使用的使用没有这种限制

1、导入一个包
导入一个package1,然后就可以直接使用init中的变量,使用from package1 import m1,就可以使用m1中的变量以及函数
这里写图片描述

2、导入一个包里的一个包
如果要使用package1里面的package2,同样导入package1.package2,然后就可以直接使用init中的变量,使用from package1.package2.m1 import f1,就可以使用m2中的变量以及函数
这里写图片描述

3、绝对路径导入:
这里写图片描述
4、相对路径导入:(只有在包内才能使用)
这里写图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值