• 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操作时间和日期之asctime()方法的使用
  • Python简明入门教程
  • Google开源的Python格式化工具YAPF的安装和使用教程
  • Python中使用select模块实现非阻塞的IO
  • Python进行数据提取的方法总结
  • Python多线程、异步+多进程爬虫实现代码
  • pymssql数据库操作MSSQL2005实例分析
  • Python中的高级数据结构详解
  • Python使用Paramiko模块编写脚本进行远程服务器操作
  • 举例讲解Python中is和id的用法

文章分类

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

最近更新的内容

    • 用实例解释Python中的继承和多态的概念
    • Python中绑定与未绑定的类方法用法分析
    • Flask的图形化管理界面搭建框架Flask-Admin的使用教程
    • Python 专题二 条件语句和循环语句的基础知识
    • python获取图片颜色信息的方法
    • Python里隐藏的“禅”
    • Python数据分析之真实IP请求Pandas详解
    • python抓取网页图片并放到指定文件夹
    • python通过pil模块将raw图片转换成png图片的方法
    • Python使用scrapy采集数据时为每个请求随机分配user-agent的方法

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

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