问题已经解决了。这是因为类中的方法被定义为cdef,而不是{}。在

样品c

#include "python.h"

void c_func(PyObject *obj){

PyGILState_STATE gstate;

gstate = PyGILState_Ensure();

/* Dictionary Object - can be of any dynamic type */

PyObject *dict_obj = PyDict_New();

PyObject *key = PyUnicode_FromString("average-run");

PyObject *val = PyLong_FromLong(45445);

PyDict_SetItem(dict_obj, key, val);

/* Make a callback */

PyObject *res = PyObject_CallMethod(obj, "func_a", "(O)", dict_obj);

if( !res )

{

PyErr_Print();

}else

{

Py_DECREF(res);

}

/*

* Note: Do not remove reference counting

* for callback argument - python will take

* care of it when the callback python method

* go out of scope. If you do - it will cause

* inconsistent data behaviour at the callback

* method side.

*/

PyGILState_Release(gstate);

}

pysample.pxd

^{pr2}$

pysample.pyx公司

cimport pysample

from pysample cimport Test

cdef class Test(object):

cpdef func_a(self, object dict_obj):

print(dict_obj)

def run_test(self):

# Here I make a call to the C function

pysample.c_func(self)

python函数参数为类对象_将Cython类对象作为参数传递给C函数相关推荐

  1. C#类与对象_创建玩家类

    C#:类与对象_创建玩家类,实现字段,方法,引用和简单游戏逻辑 //创建CF当中的玩家类Player,该类含有字段:名字,性别, 血量,武器. //武器背包当中匕首,步枪,机枪,狙击枪. 玩家类具有以 ...

  2. html表单文本框怎么输出函数值,如何获取用户输入的html文本表单字段传递给javascript函数的值?...

    我想通过生成用户必须输入到文本输入表单字段的随机数创建我自己的反垃圾邮件过滤器,如果它是正确的,他们进入下一页,如果不是,则显示错误数字输入不正确.如何获取用户输入的html文本表单字段传递给java ...

  3. 动态html函数的写法,如何将html div id的动态传递给js函数

    我想将div id从html动态传递给js脚本 因为div id r1,r2,r3需要传入jS中的getElementById(),所以当用户鼠标放在任何div上,它会自动旋转.如何将html div ...

  4. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出

    /*定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年 问题. 写一个函数days,实现上述计算.由主函数将年.月.日传递给days函数,计算后将 日子数传回主函数输出*/#in ...

  5. c中将数组传递给子函数_在C ++中将对象传递给Non-Member函数

    c中将数组传递给子函数 Here, we have to define a Non-Member Function, in which we have to pass an Object to the ...

  6. java private 对象_[Java笔记]类的所有构造器都是private权限,就一定没有办法实例化它的对象了么?...

    笔者以前学过C++语言.众所周知,C++也是一门面向对象程序设计语言.还记得当时在大学的时候,老师讲过这样的话:类的构造函数不应该设置成private权限,这样的话还怎么去实例化类的对象?当时也信以为 ...

  7. javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)

    在这篇文章中我将会着重说明如何创建JavaScript里的对象(Object). 对象(Object)是什么? 在开始介绍如何创建对象前,我们要知道对象是什么.对象(Object)简单地来说,就是一堆 ...

  8. 函数返回引用什么意思_【20200917】编程入门第七课,函数(function)

    介绍 介绍 福哥今天要给大家讲讲编程里的重头戏--函数(function),有了函数,程序才是程序,为什么这么说呢?因为如果没有函数语法,所有重复工作(包括类似工作)都要重复编写代码,那样就失去了编程 ...

  9. 单体内置对象_单体内置对象

    内置对象:由ECMAscript实现提供的,不依赖宿主环境的对象,这些对象再ES程序执行之前就已经存在 Global对象 Global全局对象是一个特别的对象(兜底对象) 不属于其他对象的属性和方法, ...

最新文章

  1. 帕雷托最优(Pareto optimality)、帕雷托效率(Pareto efficiency)
  2. 鸿蒙 电视 安卓,华为鸿蒙2.0、EMUI 11齐发 打通手机、电视、PC全平台
  3. Scikit-learn——train_test_split()方法的功能和使用
  4. java斐波那切数列_Java中的递归方法
  5. hiredis(Synchronous API)
  6. html5的canvas元素使用,HTML5canvas元素概念及使用方法介绍
  7. 如何在Ubuntu 11.10下安装Java
  8. Openstack Havana的两个排错过程
  9. 拷贝 var lib mysql 备份_mysql复制与备份
  10. ACM__搜素之BFS与DFS
  11. two pointers(双指针思想)
  12. 基于边缘的主动轮廓模型——从零到一用python实现snake
  13. 配置中心—Consul配置管理
  14. 大小写转换(大小写转换键是哪个键)
  15. 菜鸟教程学习——HTML5 video,audio,input(各种新元素),output,datalist
  16. python小猿_小猿圈python简介和发展前景?
  17. PMP-项目经理角色
  18. 哭的时候没人哄,我学会了坚强
  19. DXVA 处理交错视频
  20. UIGU源码分析1:EventSystem

热门文章

  1. 文件解析漏洞总结-IIS
  2. linux 7修改yum源,CentOS 7修改yum源为阿里源
  3. ambari集成mysql_Ambari 安装配置 MySql
  4. vscode显示中文乱码问题
  5. typescript类型断言
  6. 查询中国城市公交线路
  7. Docker的特性解析
  8. MotionLayout 基础教程
  9. 适合0基础的web开发系列教程-文本格式标签汇总
  10. centos iptables