Python异常、模块与包

Python异常、模块与包

异常:异常就是程序运行的过程中出现了错误

异常的捕获

异常捕获作用:在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。
异常捕获语法:

try:
    可能发生异常语句
except[异常 as 别名:]
    出现异常后的处理方式
else:
    未出现异常时应该做的时
finally:
    不管有没有异常都会执行

捕获全部异常的两种方式:

  • except:
  • except Exception as e:

异常的传递性

异常是具有传递性的。当函数func01中发生异常, 并且没有捕获处理这个异常的时候, 异常会传递到函数func02, 当func02也没有捕获处理这个异常的时候main函数会捕获这个异常, 这就是异常的传递性.

# 定义一个异常的函数
def func1():
    print("func1开始执行")
    1 / 0
    print("func1结束执行")

# 定义一个没有异常的函数调用上面方法
def func2():
    print("func2开始执行")
    func1()
    print("func2结束执行")

def main():
    try:
        func2()
    except Exception as e:
        print("出现异常了,异常信息是:", e)

main()

模块的概念和导入

模块:模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。
语法:[from 模块名] import [模块 | 类 | 变量 | 函数 | * ] [as 别名]
注意事项:

  • from可以省略,直接import即可
  • as别名可以省略
  • 通过”.”来确定层级关系
  • 模块的导入一般写在代码文件的开头位置
# 使用import导入time模块使用sleep的功能(函数)
# 导入Python内置的time模块(time.py)
import time
print("开始")
time.sleep(1)
print("结束")

# 使用from导入time的sleep功能(函数)
from time import sleep
print("开始")
sleep(1)
print("结束")

# 使用 * 导入time模块的全部功能
from time import *
print("开始")
sleep(1)
print("结束")

# 使用as给特定功能加上别名
import time as t
print("开始")
t.sleep(1)
print("结束")

from time import sleep as sl
print("开始")
sl(1)
print("结束")

自定义模块导入

  • 自定义模块:在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。
  • __main__if __main__ == "__main__"表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则if无法进入
  • __all__:变量可以控制import *的时候哪些功能可以被导入
  • 不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导入的

my_module1.py

__all__ = ["test_a"]

def test_a(a, b):
    print(a + b)

def test_b(a, b):
    print(a - b)

def test(a, b):
    print(a + b)

if __name__ == '__main__':
    test_a(1, 2)

my_module2.py

def test(a, b):
    print(a + b)

文件引入

# 导入自定义目录
# import my_module1
# num = my_module1.test(1, 2)
# print(num)

# 导入不同模块的同名功能
# from my_module1 import test
# from my_module2 import test
# test(1, 2)

# __main__变量
from my_module1 import test

# __all__变量
from my_module1 import *
test_a(1, 2)
# test_b(2, 1)

自定义Python包

Python包:包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。
__init__.py文件:创建Python包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python的包,而非普通的文件夹。
__all__变量:同模块中学习到的是一个作用,控制 import * 能够导入的内容

创建步骤:右击项目 -> 新建 -> Python package

安装第三方包

在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

  • 科学计算中常用的:numpy包
  • 数据分析中常用的:pandas包
  • 大数据计算中常用的:pyspark、apache-flink包
  • 图形可视化常用的:matplotlib、pyecharts
  • 人工智能常用的:tensorflow

这些第三方的包,极大的丰富了Python的生态,提高了开发效率。但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用。

安装第三方包 - pip

  • pip install 包名 pip默认连接的国外的网站,所以有的时候会速度很慢
  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称 是清华大学提供的一个网站,可供pip程序下载第三方包

    注意:网络情况好使用哪个都无所谓,不好就使用第二个

安装第三方包 - PyCharm



posted @ 2023-09-14 17:38  橙香五花肉  阅读(4)  评论(0编辑  收藏  举报