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