`
chenyinghg
  • 浏览: 33717 次
  • 性别: Icon_minigender_2
  • 来自: 惠州
社区版块
存档分类
最新评论

python控制参数类型

 
阅读更多

python的变量可以赋值成任意类型,好随意

在pyExcelerator的第三方模块中,发现了使用装饰器限制函数传入参数类型的代码,记录一下,作为以后的参考:

def accepts(*types):
    #print types
    def check_accepts(f):
        assert len(types) == f.func_code.co_argcount
        def new_f(*args, **kwds):
            for (a, t) in zip(args, types):
                assert isinstance(a, t), \
                       "arg %r does not match %s" % (a,t)
            return f(*args, **kwds)
        new_f.func_name = f.func_name
        return new_f
    return check_accepts

@accepts(object, int)
  def set_width(self, value):
      self.__width_twips = value & 0xFFFF

def get_width(self):
      return self.__width_twips

width = property(get_width, set_width)


检查返回参数
def returns(rtype):
    def check_returns(f):
        def new_f(*args, **kwds):
            result = f(*args, **kwds)
            assert isinstance(result, rtype), \
                   "return value %r does not match %s" % (result,rtype)
            return result
        new_f.func_name = f.func_name
        return new_f
    return check_returns

 

分享到:
评论

相关推荐

    python 命令行参数

    ##### 参数类型(Type) `type`参数用于指定命令行参数的值的数据类型,默认为`'string'`。可以设置为`'int'`、`'float'`等其他数据类型。 例如: ```python parser.add_option("-n", type="int", dest="num") ``...

    python PID模拟控制

    在Python中实现PID控制器,我们通常会创建一个类,包含初始化参数(如增益值)、误差计算方法、更新输出的方法等。例如,`PID.py`可能包含了以下代码结构: ```python class PID: def __init__(self, Kp, Ki, Kd):...

    python星号参数

    除了单独使用星号参数,Python还允许使用混合参数类型,即同时使用必须的参数、可选的参数、过量的位置参数以及过量的关键字参数。在定义函数时,参数应该按照以下次序定义: 1. 必须的参数; 2. 可选的参数; 3. ...

    Python中实现参数类型检查的简单方法

    在Python中,由于其动态类型特性,函数在定义时并不强制指定参数类型,这可能导致在某些场景下出现类型错误。然而,对于一些特定的函数...在编写需要严格控制参数类型的函数时,使用这样的装饰器是一个非常实用的方法。

    小米遥控器python版

    1. **Python基础知识**:作为项目的开发语言,Python的基础语法、数据类型(如列表、字典)、控制结构(if-else、for、while循环)和函数的使用是必备知识。此外,了解模块导入机制(import语句)也非常重要,因为...

    Python测试题 Python考试题目 Python练习题目 共4页.pdf

    本资源是 Python 测试题,共 4 页,涵盖了 Python 的基础知识,包括变量、数据类型、运算符、控制结构、函数、模块等。 knowledge points: 1. Python 变量:Python 中的变量不需要声明,直接赋值即可;Python ...

    实现机器人PID控制的Python实例_Python_下载.zip

    在"RobotPID-master"这个压缩包中,很可能包含了具体的Python代码示例,包括PID控制器的实现、与硬件接口的交互以及如何根据机器人动态调整PID参数。通过分析这些代码,我们可以深入理解如何在实际项目中应用PID控制...

    python控制数据采集器USB5538(csdn)————程序.pdf

    在编写代码时,一定要确保参数类型与DLL函数的期望类型相匹配,否则可能会导致运行时错误。 总的来说,Python通过ctypes模块控制USB5538数据采集器涉及了对设备驱动的理解、环境配置、库加载以及调用DLL函数等多个...

    python对接大华相机的sdk

    在Python中对接大华相机SDK的知识点涵盖了项目准备、环境搭建、库文件导入、代码编写和调试等步骤。...对接成功后,开发者就可以在Python项目中实现对大华相机的控制,进行图像获取、参数配置、实时监控等功能的开发。

    ROS学习使用Python实现参数服务器

    参数服务器是一个全局的数据存储中心,可以看作是一个键值对数据库,其中键是字符串,值可以是任何JSON兼容的数据类型。节点可以通过ROS的API读取和设置这些参数,使得不同节点间能共享配置信息,无需直接通信。 ...

    疯狂Python讲义,疯狂python讲义pdf,Python

    - 函数:Python函数是代码复用的基本单元,支持默认参数、可变参数和关键字参数。 2. 面向对象编程: - 类与对象:理解类的定义、对象的创建及属性和方法。 - 继承与多态:学习如何通过继承扩展已有类的功能,...

    python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了.pdf

    * Python 之函数的参数 * Python 之函数对象+函数嵌套 * Python 之名称空间与作用域 * Python 之闭包函数 * Python 之迭代器 * Python 之生成器 * Python 之三元表达式、生成式、生成器表达式 * Python 之面向过程...

    超完整 Python基础入门知识教程 Python从入门到进阶知识大全 Python开发基础知识能力集全部课件 1885页

    Python的控制结构包括判断语句、循环语句、函数调用等。Python的判断语句包括if语句、elif语句、else语句等。Python的循环语句包括for循环、while循环等。Python的函数调用包括函数定义、函数参数、函数返回值等。 ...

    Python控制AWG70002A的代码

    本主题聚焦于使用Python控制AWG70002A任意波形发生器,这是一种高精度、高性能的信号发生设备,常用于科研、测试和测量等领域。以下是对这个主题的详细讲解: 1. **Python编程基础**:首先,理解Python的基本语法是...

    Python练习题 Python测试题 Python考试试卷题目 含答案.pdf

    8. Python 语句和控制结构 * 在 Python 中,可以使用 `if` 语句来实现条件判断 * 可以使用 `while` 语句来实现循环操作 * 可以使用 `for` 语句来实现循环操作 9. Python 内存管理 * 在 Python 中,变量不必事先...

    华为出品-Python基础入门教程-可爱的Python 共86页.ppt

    Python中的变量赋值是动态类型的,无需预先声明变量类型。只需直接赋值即可创建和使用变量,这使得代码更简洁,同时也增强了灵活性。 【Python中的控制语句】 Python中的控制语句包括条件语句(if-else)、循环...

    Python-Phishingapplication帮助更简单发送邮件和允许更多的控制设置

    这可能涉及到配置邮件的多个方面,如发件人地址、主题、正文内容、附件、收件人列表,甚至可以设置SMTP服务器的详细参数,如端口、用户名、密码和加密类型(如TLS或SSL)。这些设置允许用户根据不同的攻击策略定制...

    Python期末试题题库完整.pdf

    4. Python控制结构 Python语言支持多种控制结构,包括if语句、while语句、for语句等。Python语言的if语句使用缩进来定义代码块。 5. Python函数 Python语言支持函数定义,可以使用def关键字来定义函数。Python...

    AUBO机器人python_sdk学习资料1

    AUBO机器人python_sdk学习资料主要面向内部学习者,提供了在Windows 32位系统上使用Python 2.7和AUBOPE V4.3.5版本进行机器人控制的详细指南。以下是对该资料中关键知识点的深入解析: ### 获取和安装Python SDK 1...

Global site tag (gtag.js) - Google Analytics