python 包
1-模块
.一个模块就是一个包含python代码的文件,后缀名是.py就可以,模块就是个python文件
.为什么用模块
.程序太大,编写维护非常不方便,需要拆分
.模块可以增加代码重复利用的方式
.当作命名空间使用,避免命名冲突
.如何让定义模块
.模块就是一个普通文件
.不过根据模块的规范,最好在模块中编写以下内容
.函数(单一功能)
.类(相似功能的组合,或者类似业务模块)
.测试代码
.如何使用模块
.模块直接导入 import module_name
.module_name.func_name
.module_name.class_name
#包含一个学生类
#一个sayhello函数
#一个打印语句
#p01.py
class Student():
def __init__(self,name='noname',age=18);
self.name=name
self.age=age
def say(self):
print('my name is {0}'.format(self.name))
def sayhello():
print('欢迎来到哈尔滨')
print('我是p01模块')
#p02模块
import p01
stu=p01.Student('xiong',20)
stu.say()
p01.sayhello()
.我们可以借助importlib包实现导入以数字开头的模块名称
.tu=importlib.import_module('01')
.import 模块 as 别名
.import p01 as p
.有选择性的导入from module_name import func_name,class_name
#案例
from p01 import Student
stu=Student
.from module_name import *
. 导入模块所有内容
.if __name__=='__main__'这条语句建议一直作为程序的入口
.可以有效避免模块代码被导入的时候被动执行的问题
.建议所有程序的入口都以此为代码为入口
2-模块的搜索路径和存储
.什么是模块的搜索路径
.加载模块的时候系统会在哪些地方搜寻此模块
.系统默认的模块搜索路径
import sys
sys.path属性可以获取路径列表
#案例
import sys
print(type(sys.path))
print(sys.path)
for p in sys.path:
print(p)
.添加搜索路径
sys.path.append(dir)
. 模块的加载顺序
.1上搜索内存中已经加载好的模块
.2搜索python的内置模块
.3搜索sys.path路径
3-包
.包是一种组织管理代码的方式,包里面存放的模块
.用于将模块包含在一起的文件夹就是包
.自定义包结构
包
__init__.py包的标志文件
模块1
模块2
子包
__init__.py
子包模块1
子包模块2
.包的导入操作
.import package_name
.直接导入一个包,可以使用__init__.py中的内容
.使用方式是:packsge_name.func_name/package_name.class_name.func_name
.import package_name as p具体用法与作用跟上述简单导入一致
.注意的是此种方法是默认对__init__.py内容的导入
.import package.module
.导入包中某一个具体的模块
.使用方法
.package.module.func_name
Python各种包下载路径 whl
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:AA架构互为AA
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章