• 文件、异常、模块


    💡大纲

    ⭕了解第三方模块的导入和使用

    (一)模块是啥?

    💡模块是一种代码的打包手段(打包是为了重用),当一些代码在程序中重复出现的时候,就会导致冗杂的局面出现PS:抄作业会吧,跟别人说一声(声明导入),然后就可以拿来抄了(使用)

    👉模块是Python中最高级别的组织结构,也是最高层次的代码重用手段,Python最好的特性是可以支持进行高效率的开发

    👉使用Python开发程序的第一步要考虑的是实现这些功能,都要用的哪些模块的组合,因为实现各种功能需要的第三方模块PyPi上面都有

    1、函数

    • 这时候就会把它打包成函数的形式,这样只需要调用函数就可以实现代码的重复使用,这是学到的第一种代码打包手段 

    2、类和对象

    • 运用类和对象的打包思维,任何事物都可以被看作是属性和方法的有机结合
    • 属性决定了对象的静态特征,方法决定了对象的动态能力

    (二)模块来源

    1、python库

    2、第三方库

    • 数据分析numpy
    • pandas
    • 数据可视化matplotlib
    • 机器学习scikit-learn
    • 深度学习Tensorflow

    3、自定义文件

    • 单独py文件

    • 包:包含多个py文件。文件夹内多个py文件,再加一个__init__.py文件(内容可为空)

    (三)模块的导入

    1、导入整个模块---import 模块名

    👉调用方式:模块名.函数名或类名

    1. import time
    2. start = time.time() # 调用time模块中的time()
    3. time.sleep(5) # 调用time模块中的sleep()
    4. end = time.time()
    5. print("程序运行用时:{:.2f}秒".format(end-start))
    6. # 程序运行用时:3秒
    7. import fun1 # 导入fun1.py文件
    8. fun1.f1() # 导入fun1成功

    2、从模块中导入类或函数---from 模块 import 类名或函数名

     👉调用方式:函数名或类名

    1. from time import time # 模块名 函数名
    2. start = time() # 调用函数
    3. print(start) # 1666183351.2384448
    4. from function.fun1 import f1 # 模块是function文件夹里的fun1.py文件 f1是函数名
    5. f1()
    6. # 导入fun1成功
    7. # 一次性导入多个
    8. from function import fun1, fun2
    9. fun1.f1()
    10. fun2.f2()
    11. '''
    12. 导入fun1成功
    13. 导入fun2成功
    14. '''

    3、导入模块中所有的类和函数---from 模块 import * 

    👉调用方式:函数名或类名

    👉一次性导入该模块的所有内容,不提倡

    4、import 模块名称 as 关联名称 

    (四)模块的查找路径

    💡模块搜索查找顺序

    👉内存中已经加载的模块,就算在硬盘中删除了,该模块仍然存在,说明优先从内存读取

    👉Python 启动时,解释器会默认加载一些模块存放在sys.modules中

    # sys.modules 变量包含一个由当前载入(完整且成功导入)到解释器的模块组成的字典, 模块名作为键, 它们的位置作为值

    👉sys.path路径中包含的模块

    1. import sys
    2. sys.path

    👉sys.path的第一个路径是当前执行文件所在的文件夹

    👉若需将不在该文件夹内的模块导入,需要将模块的路径添加到sys.path

    1. import sys
    2. sys.path.append("C:\\Users\\ibm\\Desktop") # 注意是双斜杠
    3. import fun3 # 一开始该模块不在该文件夹内,将其路径添加到sys.path
    4. fun3.f3()

     

     📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 相关阅读:
    习题 --- BFS
    雷达测速原理、分辨率、精度、速度模糊、盲速以及速度扩展算法知识汇总
    03 Linux
    中国现代文学专题形考2022
    播放器开发(五):视频帧处理并用SDL渲染播放
    PTA 7-6 盲盒包装流水线(单调栈)
    GA4如何搭建转化目标?
    java计算机毕业设计ssm+vue东莞大益球队管理系统
    【论文阅读】Scene Text Telescope: Text-Focused Scene Image Super-Resolution
    黎曼的几何基础,维度
  • 原文地址:https://blog.csdn.net/soaipipiop/article/details/127410010