前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【测试开发】python系列教程:函数(三)

【测试开发】python系列教程:函数(三)

作者头像
雷子
发布2022-12-29 19:35:13
1790
发布2022-12-29 19:35:13
举报

上一篇

【测试开发】python系列教程:函数(二)

本次分享函数第三篇


正文

之前讲了如何定义函数,如何编写匿名函数,如何实现一个装饰器,那么这次我们接着往下看。

我们通常会有这样的需求

代码语言:javascript
复制
1.封装一个读取txt文档方法
2.封装一个处理函数异常的装饰器
3.函数中调用读写文档的方法,用装饰器来处理异常

看下这个需求怎么写,

代码语言:javascript
复制
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")

这样,我们就完成了需求的编写, 那么如何去调用呢。

可以执行

代码语言:javascript
复制

read()
#执行结果

这样就实现了。

我们在执行的时候为了方便调试,正常的函数的点用方法应该如下:

代码语言:javascript
复制
if __name__=="__main__":
    read()

假设是主文件去执行。这样就会在我们要执行的时候去执行,如果直接写,只要这个文件呗调用就会去执行,大家后续在开发中,调试执行用这个,当是主文件的时候,我们就执行这块代码。

我们是在一个文件编写的,通常,我们会写在不同的文件。

我们可以在一个文件中编写

代码语言:javascript
复制
def radtxt(filename):
    f = open(filename, 'r')
    return f.readlines()


def tryexec(func):  # 将被装饰函数传入
    def wrapper():
        try:
            return func()  # 执行被装饰的函数
        except:
            print("执行出现异常")

    return wrapper  # 返回函数的名称

然后在我们需要的文件中导入调用即可

代码语言:javascript
复制
from tool import tryexec, radtxt
@tryexec
def read():
    radtxt("beijing.txt")
if __name__=="__main__":
    read()

这样,就可以完成了函数在不用的文件中的编写,然后就可以在需要的地方就可以调用。后续我们就可以去编写一个通用的工具模块,在后续需要的时候,就是调用即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档