c++访问python3-实例化类的方法
来源:互联网 发布:淘宝金牌客服沟通技巧 编辑:程序博客网 时间:2024/06/14 01:43
此文是学习笔记,供日后翻阅。
下面列出C++访问python所需的函数,按调用的先后次序排列。
提示: 其中实例化类的方法是python3中的,若要使用python2,则用PyInstance_New这个方法。有关此方法网上有很多资料,就不列出了。
//PyInitialize: 必须首先调用,初始化python运行所需模块。它无参数、无返回值
void Py_Initialize();
/*Py_IsInitialized: 检查初始化是否成功
*返回值: 成功返回true*/
bool Py_IsInitialized();
/*PyImport_ImportModule: 加载python模块
*szModuleName: 模块名称
*返回值: 成功加载返回模块指针*/
PyObject *PyImport_ImportModule(const char *szModuleName);
/*PyModule_GetDict: 获取模块字典
*pModule: 模块指针
*返回值: 成功从指定模块获取字典返回字典指针*/
PyObject *PyModule_GetDict(PyObject *pModule);
/*PyDict_GetItemString: 从模块字典中获取指定的对象
*pDict: 被查找的模块字典指针
*key: 要查找的模块中的函数或类名
*返回值: 若找到指定的对象,返回指向它的指针;否则返回NULL*/
PyObject *PyDict_GetItemString(PyObject *pDict, const char *key);
/*PyInstanceMethod_New: 实例化从模块字典中查找到的类
*pClass: 从模块字典中找到的类信息指针
*返回值: 根据类信息指针构造该类的实例,并返回它的指针*/
PyObject *PyInstanceMethod_New(PyObject *pClass);
/*PyObject_CallMethod: 调用类方法
*pInstance: 由PyInstanceMethod_New返回的类实例
*pMethodName: 被调用的类方法名
*pFormat: 传递给类方法的参数类型格式字符串
*...: 传给类方法的参数
*返回值: 被调用类方法的返回值。若被调用方法无返回值,则本方法返回NULL*/
PyObject *PyObject_CallMethod(PyObject *pInstance, const char *pMethodName, const char *pFormat, ...);
/*PyObject_CallFunction: 调用模块中的函数
*pFunction: 从模块字典中获取的模块函数指针
*pFormat: 要传给模块函数的参数类型格式化字符串
*...: 传给模块函数的参数列表
*返回值: 模块函数的返回值;若模块函数无返回值,该方法返回NULL*/
PyObject *PyObject_CallFunction(PyObject *pFunction, const char *pFormat, ...);
/*PyArg_Parse: 从python返回的数据对象中获取指定的数据
*pArgs: 调用python方法得到的返回值
*pFormat: 指定获取什么类型数据的格式化字符串
*...: 存储获取数据的指针*/
PyArg_Parse(PyObject *pArgs, const char *pFormat, ...);
//下面这个宏释放python api创建的对象,如模块,模块字典,函数,类和类实例等等
Py_DECREF(pObject);
//最后调用此方法释放python模块
Py_Finalize();
- c++访问python3-实例化类的方法
- python3 实例方法,类方法,静态方法
- 实例方法和类方法的访问哲学 实例变量和类变量的访问哲学
- python3.0学习六: 用延迟的方法访问网页
- C语言调用Python3实例
- Python3 的urllib实例
- C/C++ 访问 Java 实例方法和静态方法
- C/C++ 访问 Java 实例方法和静态方法
- VC访问数据库技术的方法实例(转)
- VC访问数据库技术的方法实例
- Objective-C获取类方法和实例方法的IMP
- 关于python3调用C/C++的方法(ctypes)
- 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。
- 类的初始化顺序:实例化一个类的对象和访问静态域或者静态方法时的不同
- Objective-C 类属性和方法的访问权限
- python3-类的定义与方法
- python3 类对象的定义、方法
- Python3学习(22)--类的属性和实例的属性
- 随意组合--2016 蓝桥杯国赛 C++ A组
- 求逆序对
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- 线段树练习4
- c++访问python3-实例化类的方法
- javascript中的闭包
- Android studio 设置代码提示(自动补全)
- 帝国CMS标题截取添加省略号的问题
- 每日英语阅读(二十四)
- Nginx初识
- Android 自定义控件实现刮刮卡效果 真的就只是刮刮卡么
- poj 1850 code
- K