使用pybind11开发python扩展库(1)
2023-09-14 09:10:05 时间
前面介绍了怎么快速地使用C++11来开发python的扩展库,这样可以更快地提高python的代码运行和计算性能, 这样可以把关键代码做优化,非关键代码就使用python来开发就行了,这样混合开发方式比go更加快方便快捷,性能也比go好,比java更好十倍以上。可以这种方式是无敌的工具组合。
现在来学习怎么样在C++的开发模块里让输入关键字参数,比如像下面这种形式:
import example
example.add(i=1, j=2)
这样i和j就跟位置没有关系了,可以j放在前面,也可以放在后面。在C++的代码里定义这个也非常简单,可以按下面的方式来定义:
//提供关键字参数
m.def("addKey", &add, "A function which adds two numbers",
py::arg("i"), py::arg("j"));
}
在这里使用pybind11定义的参数py::arg()来实现,这个函数主要用来定义关键字参数。通过这样处理之后,函数addKey就可以在python代码里实现关键字参数输入了,如下:
TestAdd.addKey(j = 10, i = 20)
可以看到j = 10放在前面,i = 20放在后面,不会影响到那一个参数的值了。整个例子整合之后,就可以生成C++代码如下:
相关文章
- pycharm断点运行_python断点调试技巧
- python线程间通信的方式_android 线程间通信
- pycharm中pyqt5使用方法_python环境变量的配置
- python 生成数组_Python创建数组「建议收藏」
- python中pygame怎么安_Python中pygame安装方法图文详解
- python编程前景_Python前景如何,学完后可以从事方向?
- python安装不了whl文件_Python安装whl文件过程图解
- python 之 内置函数大全[通俗易懂]
- 【说站】python not关键字的使用
- Python大师!UE5的御用布景师
- VSCode 最好的 Python 扩展,可大大提升你的生产力
- 十分钟彻底搞定python异常处理
- Python连接MySQL数据库
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- KG4Py:Python代码知识图谱和语义搜索的工具包
- 搭建python开发环境-c++教程 如何搭建Python开发环境?
- Linux下如何快速卸载Python环境(linux如何卸载python)
- Linux系统快速运行Python脚本(linux运行python脚本)
- python:type获取对象信息详解编程语言
- Python简易操作MySQL数据库指南(python操作mysql数据库)
- Linux下使用Python开发体验之旅(linux使用python)
- Python与MongoDB 无缝连接(python连接mongodb)
- 3 个值得使用的在 Python 3.1 中发布的特性
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- MySQL与Python的协同运行:一种全新的开发体验(mysql与python)
- Linux下运行Python脚本的步骤简介(linux如何运行python脚本)
- Linux下的Python开发技术之旅(linux下python开发)
- Python文件重命名工具代码
- vc6编写python扩展的方法分享