python包

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
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值