• Python学习----异常、模块、安装第三方包


    异常

    异常的含义就不用解释了
    打开一个不存在的文件:
    在这里插入图片描述

    异常的捕获

    语法: 捕获所有异常

    try:
    	可能发生错误的代码
    except:
    	发生错误之后执行的代码
    
    
    try:
    	可能发生错误的代码
    except Exception as e:
    	发生错误之后执行的代码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    两种写法都行

    捕获指定异常,上面的就是捕获所有异常
    语法:

    try:
    	可能发生异常的代码
    except 异常名称 as e:
    	发生异常之后执行的代码
    
    • 1
    • 2
    • 3
    • 4

    捕获多个异常:
    语法:

    try:
    	可能发生异常的代码
    except(异常1,异常2......)
    	发生异常之后执行的代码
    
    • 1
    • 2
    • 3
    • 4

    异常else
    else表示的是,如果没有异常,要执行的代码

    try:
    	可能发生异常的代码
    except(异常1,异常2......)
    	发生异常之后执行的代码
    else:
    	如果没有发生异常,执行的代码。这个可以有也可以没有
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    异常的finally

    try:
    	可能发生异常的代码
    except(异常1,异常2......)
    	发生异常之后执行的代码
    else:
    	如果没有发生异常,执行的代码。这个可以有也可以没有
    finally:
    	不管是否出现异常,都要执行的代码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    异常的传递

    和java异常的传递是一样的。 fun1 调用 fun2 ,如果fun2发生异常,可以在fun1进行捕获。异常会自动向上抛,直到你try的时候,或者系统捕获的时候才会停止。

    模块

    什么是模块
    就是一个Python文件,以 .py结尾, 模块能定义函数,类和变量,模块里也能包含可执行的代码
    就是java导入一个工具类道理差不多。

    语法:
    [from 模块名] import [模块 | 类 | 变量 | 函数 | * ] as [ 别名 ]
    中括号表示可以省略

    以Python自带的time模块演示
    在这里插入图片描述
    导入全部功能还有另外一个写法
    form time import *
    这个也表示导入time模块下的全部功能,但是在使用的使用。
    这样导入可以直接写方法名调用
    time()
    就不用加前缀 time.time() 这样写。

    自定义模块并导入

    每个Python文件都可以作为一个模块

    在这里插入图片描述
    注意:导入不同模块,但是有相同的方法名,后导入模块中的方法会将先导入模块中的方法覆盖。

    测试模块 __name__变量
    在这里插入图片描述

    在模块中,直接调用测试代码,那么在导入的时候也会被调用。但是又要保存测试记录。
    那么就使用上面的方法
    在 自己python文件中运行, __name__ = ‘__main__’
    但是在其他python文件中,这个文件的 __name__ 就不生效了,只在当前文件生效,但是其他文件还是等于 这个值。
    运行learn05::::::::::::::::::
    在这里插入图片描述

    __all__ 变量
    如果一个模块文件中有 all 变量,当使用 from xxxx import *导入时,只能导入指定元素
    这个 * 星号,就是代表 all 这个变量

    运行my_module
    在这里插入图片描述

    Python 包

    自定义包

    包就是许多模块组成,物理上看就是一个文件夹。
    包组成: 模块 + __init__.py 文件
    其实都是py文件。
    __init__.py 有这个文件就是 Python包,没有就是一个普通文件夹

    通过PYcharm工具,创建一个包,里面自带__init__.py。一开始里面是什么都没有的

    在这里插入图片描述

    使用自定义包:
    方式1:
    导入 : import 包名.模块名
    使用 : 包名.模块名.方法名 # 或者是变量名

    方式2:
    导入 : from 包名 import 模块名
    使用 : 模块名. 方法名

    方式3:
    导入 : from 包名.模块名 import 方法名
    使用 : 方法名
    在这里插入图片描述
    在__init__.py 可以通过 __all__ 变量指定哪些模块能偶导入哪些不能导入
    同样也是只能控制
    from 包名 import * 的形式
    在这里插入图片描述

    安装第三方包

    在Python生态中,有很多第三方包(非官方的),可以极大的帮助我们提高开发效率,如:
    科学计算常用的: numpy包
    数据分析常用的: pandas包
    大数据计算中常用的: pyspark包,apache-flink包
    图形可视化常用的: matplotlib、pyecharts
    人工智能常用的,tensorflow

    只要电脑正常安装了python,就能使用pip程序
    语法 : pip install 包名称
    即可通过网络快速安装第三方包
    pip install numpy
    默认是连接外国网站下载,非常慢

    通过国内网站进行安装
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

    有可能出现pip版本过低,需要更新pip版本
    python.exe -m pip install --upgrade pip

    PyCharm 安装第三方包
    1、
    在这里插入图片描述
    2、
    在这里插入图片描述
    3、 安装即可,默认源是国外的,勾选options 填写国内源即可

    在这里插入图片描述

    json数据和Python数据相互转换

    导入json模块
    import json
    data = [{“name”:“小明”,“age”:16},{“name”:“小红”,“age”:18}]

    通过 json.dumps(data) 方法,把python数据(字典)转化为json数据
    结果为json格式的字符串,这个方法在转换中文的时候,会将中问转码,要原样输出的话, json.dumps(data, ensure_ascii=False)

    通过json.loads(data)方法,把json数据转化为python数据(字典)

  • 相关阅读:
    GBDT算法原理以及实例理解(含Python代码简单实现版)
    NVIDIA JETSON AGX XAVIER DEVELOPER KIT刷机教程(各种踩雷篇)
    Android轮播图控件com.github.pinguo-zhouwei:MZBannerView:v2.0.2
    SpringBoot学习笔记(1)——B站动力节点
    敏捷管理工具和scrum敏捷管理方法介绍
    Java面试时,该如何准备亮点?
    从设备树(dtb格式数据)中解析出bootargs
    Prometheus kube-state-metrics 监控指标介绍
    5个编写技巧,有效提高单元测试实践
    Vue3 - Suspense 组件介绍及使用方法
  • 原文地址:https://blog.csdn.net/m0_48639280/article/details/127864507