• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python通过装饰器检查函数参数数据类型的方法

python通过装饰器检查函数参数数据类型的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 函数参数类型,python 函数参数,python函数参数传递,python 函数默认参数,python 函数 可变参数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了python通过装饰器检查函数参数数据类型的方法。分享给大家供大家参考。具体分析如下:

这段代码定义了一个python装饰器,通过此装饰器可以用来检查指定函数的参数是否是指定的类型,在定义函数时加入此装饰器可以非常清晰的检测函数参数的类型,非常方便
    def check_accepts(f):
        assert len(types) == f.func_code.co_argcount, \
        'accept number of arguments not equal with function number of arguments in "%s"' % f.func_name
        def new_f(*args, **kwds):
            for i,v in enumerate(args):
                if types.has_key(f.func_code.co_varnames[i]) and \
                    not isinstance(v, types[f.func_code.co_varnames[i]]):
                    raise exception("arg '%s'=%r does not match %s" % \
                        (f.func_code.co_varnames[i],v,types[f.func_code.co_varnames[i]]))
                    del types[f.func_code.co_varnames[i]]
            for k,v in kwds.iteritems():
                if types.has_key(k) and not isinstance(v, types[k]):
                    raise exception("arg '%s'=%r does not match %s" % \
                        (k,v,types[k]))
            return f(*args, **kwds)
        new_f.func_name = f.func_name
        return new_f
    return check_accepts
def exmaple():
    @accepts(Exception,a=int,b=list,c=(str,unicode))
    def test(a,b=None,c=None)
        print 'ok'
    test(13,c=[],b='df')</div>

希望本文所述对大家的Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • 简单谈谈Python中函数的可变参数
  • 深入解析Python中函数的参数与作用域
  • 深入讲解Python函数中参数的使用及默认参数的陷阱
  • 深入讲解Python函数中参数的使用及默认参数的陷阱
  • Python中函数的参数定义和可变参数用法实例分析
  • 理解Python中函数的参数
  • 理解Python中函数的参数
  • Python中实现参数类型检查的简单方法
  • python通过装饰器检查函数参数数据类型的方法
  • python通过装饰器检查函数参数数据类型的方法

相关文章

  • python内存管理分析
  • 使用Python对SQLite数据库操作
  • 利用Python自动监控网站并发送邮件告警的方法
  • python实现多线程暴力破解登陆路由器功能代码分享
  • Python实现将目录中TXT合并成一个大TXT文件的方法
  • Python线程的两种编程方式
  • 基于python实现的抓取腾讯视频所有电影的爬虫
  • python中合并两个文本文件并按照姓名首字母排序的例子
  • 浅析Python中MySQLdb的事务处理功能
  • python中类变量与成员变量的使用注意点总结

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python导出DBF文件到Excel的方法
    • 用实例说明python的*args和**kwargs用法
    • tensorflow查看ckpt各节点名称实例
    • Python实现Windows上气泡提醒效果的方法
    • Python入门篇之函数
    • Python中list初始化方法示例
    • Python实现读取目录所有文件的文件名并保存到txt文件代码
    • Python实现的Google IP 可用性检测脚本
    • python使用wxPython打开并播放wav文件的方法
    • python多线程操作实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有