【测试开发】python系列教程:函数(三)
2023-02-18 16:48:45 时间
上一篇
本次分享函数第三篇
正文
之前讲了如何定义函数,如何编写匿名函数,如何实现一个装饰器,那么这次我们接着往下看。
我们通常会有这样的需求
1.封装一个读取txt文档方法
2.封装一个处理函数异常的装饰器
3.函数中调用读写文档的方法,用装饰器来处理异常
看下这个需求怎么写,
def radtxt(filename):
f=open(filename,'r')
return f.readlines()
def tryexec(func): # 将被装饰函数传入
def wrapper():
try:
return func() # 执行被装饰的函数
except:
print("执行出现异常")
return wrapper # 返回函数的名称
@tryexec
def read():
radtxt("beijing.txt")
这样,我们就完成了需求的编写, 那么如何去调用呢。
可以执行
read()
#执行结果
这样就实现了。
我们在执行的时候为了方便调试,正常的函数的点用方法应该如下:
if __name__=="__main__":
read()
假设是主文件去执行。这样就会在我们要执行的时候去执行,如果直接写,只要这个文件呗调用就会去执行,大家后续在开发中,调试执行用这个,当是主文件的时候,我们就执行这块代码。
我们是在一个文件编写的,通常,我们会写在不同的文件。
我们可以在一个文件中编写
def radtxt(filename):
f = open(filename, 'r')
return f.readlines()
def tryexec(func): # 将被装饰函数传入
def wrapper():
try:
return func() # 执行被装饰的函数
except:
print("执行出现异常")
return wrapper # 返回函数的名称
然后在我们需要的文件中导入调用即可
from tool import tryexec, radtxt
@tryexec
def read():
radtxt("beijing.txt")
if __name__=="__main__":
read()
这样,就可以完成了函数在不用的文件中的编写,然后就可以在需要的地方就可以调用。后续我们就可以去编写一个通用的工具模块,在后续需要的时候,就是调用即可。
相关文章
- Python图像处理丨5种图像处理特效
- 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效
- 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波
- 跟我学Python图像处理丨带你掌握傅里叶变换原理及实现
- 跟我学Python图像处理丨关于图像金字塔的图像向下取样和向上取样
- Python中的super函数,你熟吗?
- Python图像处理丨带你认识图像量化处理及局部马赛克特效
- Python图像处理丨基于K-Means聚类的图像区域分割
- Python图像处理丨认识图像锐化和边缘提取的4个算子
- 想了解Python中的super 函数么
- 跟我学Python图像处理丨何为图像的灰度非线性变换
- Python代码用在这些地方,其实1行就够了!
- Python图像处理丨图像的灰度线性变换
- Python图像处理丨基于OpenCV和像素处理的图像灰度化处理
- 跟我学Python图像处理丨基于灰度三维图的图像顶帽运算和黑帽运算
- Python图像处理丨带你掌握图像几何变换
- Python图像处理丨如何调用OpenCV绘制直方图
- 学python,怎么能不学习scrapy呢!
- Python图像处理丨两种实现图像形态学转化运算
- Python图像处理丨三种实现图像形态学转化运算模式