我试图改进Python中的函数。它需要几个参数,其中一些可能会丢失。

def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None):

#code

参数d到h是字符串类型,并且具有不同的含义 – 重要的是我可以通过a,b,c,d,e或a,b,C,g,h或a,b, d,e,f – 或所有这些(这些是我的选择)。

这将是巨大的,如果我可以重载的函数 – 但我读到Python不支持重载。我试图在列表中插入一些必需的int参数 – 并得到一个参数不匹配错误。

该函数一旦获得其所有信息,就会传递给C DLL。

现在我发送空字符串代替前几个缺少的参数,作为占位符。我想能够调用一个函数只是使用实际的值。

有什么办法做,也许使用列表?我可以传递一个列表而不是参数列表吗? (注意:在参数列表中有一个整数 – 虽然我可以很容易地改变它,并将char *转换为C在DLL中的int)。

如果可以使用列表而不是参数列表,我仍然能够将函数传递给DLL?

现在使用ctypes的原型看起来像:

_fdll.some_function.argtypes = [c_void_p, c_char_p, c_int, c_char_p, c_char_p, c_char_p, c_char_p, c_char_p]

python中可选参数_带可选参数的Python函数相关推荐

  1. python class用法理解_带你全面理解python中self的用法

    self代表类的实例,而非类. 执行结果如下 从上面的例子中可以很明显的看出,self代表的是类的实例.而self.class则指向类. self不必非写成self 把上面的代码改写一下. 改成thi ...

  2. python中datetime库_一天掌握一个Python库--datetime库

    #一天掌握一个Python库--datetime库 **datatime** 模块题共用一些处理日期,时间和时间间隔的函数.这个模块使用面向对象的交互取代了**time**模块中整形/元组类型的时间函 ...

  3. 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例

    前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...

  4. python中的映射_一文读懂Python中的映射

    python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. ...

  5. 怎么在python中输入矩阵_如何使用NumPy在Python中实现矩阵?

    矩阵被用作数学工具,在现实世界中有多种用途.在本文中,我们将按照以下顺序讨论Python中关于使用著名的NumPy库的矩阵的所有内容:什么是NumPy以及何时使用它?在NumPy 矩阵被用作数学工具, ...

  6. dpresult在python中什么意思_动态规划(DP)的整理-Python描述

    今天整理了一下关于动态规划的内容,道理都知道,但是python来描述的方面参考较少,整理如下,希望对你有所帮助,实验代码均经过测试. 请先好好阅读如下内容--什么是动态规划? 摘录于<算法图解& ...

  7. python中常用模块_工作中用过的Python常用模块:(基于3.x)

    内置模块: sys 用于提供对解释器相关的访问及维护.例如:sys.argv --传参 sys.platform --返回系统平台名称 sys.version --查看python版本 os 用于提供 ...

  8. 感知器及其在python中的实现_感知器及其在Python中的实现

    什么是感知器? 生物神经元示意图 感知器的概念类似于大脑基本处理单元神经元的工作原理.神经元由许多由树突携带的输入信号.胞体和轴突携带的一个输出信号组成.当细胞达到特定阈值时,神经元会发出一个动作信号 ...

  9. python中import星_【已解决】Python中递归import导入:ImportError: cannot import name

    折腾: 期间,从错误信息中可以看到:Traceback (most recent call last): File "/usr/lib64/python3.4/runpy.py", ...

最新文章

  1. 成功解决ModuleNotFoundError: No module named 'keras_resnet'
  2. sublime java cmd_在sublime text3设置java环境
  3. SAP CRM BSP repository 如何判断switch的状态
  4. 计算机网络【3】网络层
  5. Redis系列教程(七):Redis并发竞争key的解决方案详解
  6. 计算机 运行新ie 命令,(新)计算机应用基础IE浏览器设置学习笔记——精品.doc
  7. python简单数据类型变量_python-2-变量和简单数据类型
  8. [笔记] 最大权闭合子图最大流最小割相关笔记
  9. java -D參数简化增加多个jar【简化设置classpath】
  10. 2016.09.03【初中部 NOIP提高组 】模拟赛A总结
  11. 在 Mac 上的 Safari 浏览器中如何存储网页的一部分或整个网页?
  12. Swift - 43 - 继承, 多态, 析构函数
  13. python kivy kv模板调用_正确使用.kv文件进行Kivy并将其导入到Python...
  14. creo扫描选择多条链作为轨迹_Proe/Creo曲面造型·蓝牙耳机纹理曲面纹理
  15. 删除一个数据库中所有数据的方法
  16. python采集微信聊天信息_我用 Python 破解了微信聊天记录,自动同步微信文章
  17. Chrome扩展程序应用商店方式一
  18. C++ P1091 合唱队形[DP]
  19. 德州农业机械大学计算机科学,2020年德州农业机械大学申请条件
  20. 跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享

热门文章

  1. 计算机硬件价钱分配,电脑基础知识计算机硬件基础课件.ppt
  2. 一个div 上下两行_用 Python 撸一个 Web 服务器第4章:动态渲染数据
  3. mysql主键查询gap锁失效,mysql记录锁(record lock),间隙锁(gap lock),Next-key锁(Next-key lock)...
  4. 只能匹配第一列吗_VLOOKUP会用了吗?不会的抓紧看
  5. vim与Python推荐之插件Autopep8
  6. namenode与datanode
  7. securecrt是什么工具_拥有这些工具,还怕干不出好活?
  8. 笔记-高项案例题-2017年上-变更管理-需求管理
  9. 配置Linux的时钟同步
  10. CentOS7中使用PM2设置Node-RED开机自启动