【python里用类构建CS游戏里的角色】教程文章相关的互联网学习教程文章

python – Cython C模板【代码】

我是cython的新手,我试图包装一个定义为的模板化矢量类template < typename T, uint N > struct Vector{}我很难了解cython如何使用模板,特别是那些以int作为参数的模板.我在文档中读到还没有支持int作为模板参数.我该怎么做呢?解决方法:我找到了简单的解决方案! 例如,在C头文件中,您可以声明一个typedeftypedef Vector<float,3>; Vector3f;在您的cython文件中,您可以声明它,现在您可以使用该类中的所有函数和运算符.cdef exte...

python 3.5中的async / await关键字是否受到C#中async / await的启发?【代码】

python 3.5中的async / await(语法和关键字)与C#中的async / await非常相似. C#示例:async void asyncTask(){await asyncMethod() }Python示例:async def asyncTask(): await async_method()问题:python 3.5中的async / await是否受到C#中async / await的启发?如果是,为什么?解决方法:在PEP 492(添加await和async关键字的提议)中,C#使用它们是mentioned(除了其他):Why “async” and “await” keywords async/await is not...

python 安装surprise库解决 c++tools错误问题【图】

利用pip安装 pip install numpy pip install scikit-surprise 安装出错:因为surprise需要microsoft Visual C++ 14.0编译,所以需要安装这个库。下载地址:链接: https://pan.baidu.com/s/1_L4Hb-EFM6ksG8ZxD--WmQ密码: 5o98scikit-surprise安装方法:安装microsoft Visual C++ 14.0.exe后, 参考链接:http://www.pianshen.com/article/5343217132/

Python C扩展不是线程安全的吗?【代码】

我用python脚本做了一个c扩展,这个脚本是相当费力的.代码本身经过了很好的测试和简单.使用一些大型列表调用c扩展,然后执行一些聪明的算法并返回一些新列表. c扩展是100%自给自足,它不使用任何其他c函数,也不使用任何python对象的方法(它确实使用这些标准的Python方法:PyFloat_AsDouble,PyList_GetItem,PyList_Size,PyList_New,Py_BuildValue,PyList_Append ).到目前为止,我只在非多线程环境中使用它. 今天我开始在一个多线程的GU...

带有“-c”和缩进问题的Python解释器调用【代码】

我正在尝试使用“-c”参数调用Python,以允许我轻松地运行一些任意的python代码,如下所示:python.exe -c“for idx in range(10):print idx”现在这个代码在我的批处理文件中工作正常,但是,当我想做更多的事情时,我遇到了问题. 请考虑以下Python代码:foo = 'bar' for idx in range(10):print idx然后这将在stdout上给你0-9.但是,如果我将它折叠成一行,使用分号作为分隔符,以获得以下内容:foo = 'bar';for idx in range(10): p...

python – SWIG包装C库最优雅的方式来引发异常【代码】

我最近转换了一个库,我最初使用Boost Python包装在C中编写,使用SWIG包装来支持更多语言.我从C切换到C,因为该库只包含一组函数,我也希望该库可以从C调用(无需用C编译器编译整个程序).然而,有一件事不容易移植,一小部分功能需要能够报告错误.在C / Boost Python中,使用throw和异常翻译非常优雅. 如果有一部分函数报告错误,最优雅的方式(在C语言和包装语言方面)会是什么?解决方法:我就是这样做的. %{…%}块将其内容插入到包装文件中...

在python中导入时重定向C函数的stdout问题【代码】

我写了一个简单的C模块,使用printf打印到stdout.// sample.c func_print() {printf("Hello World!\n"); }后来,我使用SWIG创建了一个包装器,这样我就可以在我的python程序中使用func_print了.在这个程序中,我已将stdout重定向到textctrl小部件.正如预期的那样,我使用print打印的任何内容都在textctrl小部件中正确打印.# sample.py ... sys.stdout = textctrl # textctrl is a TextCtrl widget (wxPython). print 'Hello fr...

Python C API unicode参数【代码】

我有一个简单的python脚本import _tph str = u'Привет, <b>мир!</b>' # Some unicode string with a russian characters _tph.strip_tags(str)和C库,编译成_tph.so.这是一个strip_tags函数:PyObject *strip_tags(PyObject *self, PyObject *args) {PyUnicodeObject *string;Py_ssize_t length;PyArg_ParseTuple(args, "u#", &string, &length);printf("%d, %d\n", string->length, length);// ... }printf函数打印这个:...

python – PyOpenCL vs Clyther vs纯OpenCL和C99:什么对新手最好?

我有一个问题:快速线性系统求解(我有很多这样的系统).我将使用GPU和OpenCL解决它. 我喜欢Ruby或Python等动态语言,我习惯于使用像C这样的低级语言. 所以我有两个目标: >开发这样的OpenCL解决方案,以便像我一样快速地解决线性系统可以尽可能少的努力.>不要在性能上松懈很多.为方便起见,我不想支付2-10倍的减速度,但我愿意为高级语言的工作支付30-50%. 对我来说最好的情况是:几乎没有浪费,在OpenCL C中几乎编译python代码. 我找到...

从C#应用程序将命令行参数传递给IronPython?【代码】

如何将命令行参数从我的C#应用??程序传递到IronPython 2.x? Google仅返回有关如何使用Iron Python 1.x执行此操作的结果.static void Main(string[] args) {ScriptRuntime scriptRuntime = IronPython.Hosting.Python.CreateRuntime();// Pass in script file to execute but how to pass in other arguments in args?ScriptScope scope = scriptRuntime.ExecuteFile(args[0]); }解决方法:您可以通过以下C#代码设置sys.argv:stati...

c – 使用嵌入式Python 3部署应用程序

我目前正在开发一个用C语言编写的应用程序.出于脚本目的,我使用Python 3.2,这很好 – 在我的开发人员机器上安装了Python并且所有的DLL都在正确的位置. 在使用优秀的py2exe之前,我部署了“纯”Python应用程序(即没有本机代码),但我没有第一个线索如何使用嵌入式Python进行部署. 根据我的直觉,我认为以下组件是必要的: > Python3.dll& Python32.dll> Python的“DLLs”目录中的.pyd文件> Python库 最后一点是困扰我的:我如何部署它?...

使用Python / C API将解释器中PyStrings的值作为C程序中的CStrings获取【代码】

我一直在乱用Python / C API并拥有以下代码:#include <Python.h> #include <stdio.h> #include <stdlib.h>int main(int argc, char *argv[]) {//Initialize PythonPy_Initialize();//Run fileFILE *fp = fopen("Test.py", "r");PyRun_SimpleFile(fp,"Test.py");fclose(fp);//Run Python codePyRun_SimpleString("print(__NAME__)");PyRun_SimpleString("print(__DESC__)");PyRun_SimpleString("print(__SKIN__)");PyRun_SimpleStr...

Python C-Api线程问题【代码】

我正在编写一个C程序,它使用用python编写的网络库.我用python C api嵌入了python lib.该库发送所有请求异步,并在请求完成时通过信号通知我. 这在理论上意味着. 实际上我有两个与线程相关的问题: >从c调用python lib的所有调用都是块状的(它们应该立即返回)> python lib调用已注册的回调async(thread.start_new_thread(callback,args)).这不起作用(没有任何反应).如果我将python代码更改为回调(args),那么它确实有效. 我做错了什么...

使用boost.python将变量从C导出到python中【代码】

例如,我在c中有一个varibale:const float Pi = 3.1415926535898f;使用boost.python将它导出到python-module的最佳方法是什么? 我想在全局范围内将其作为变量访问.解决方法:似乎可以使用以下方式轻松完成:boost::python::scope().attr("Pi") = Pi;

Objective-C / cocoa相当于Python的os.path.split()来获取目录名和文件名【代码】

当我有一个路径时,我可以在Python中使用os.path.split()来获取目录名和文件名.>>> x = '/a/b/c/hello.txt' >>> import os.path >>> os.path.split(x) ('/a/b/c', 'hello.txt')Objective-C / cocoa的等效功能是什么?解决方法:有一种更简单的方法(好吧,比乱搞子阵列);查看NSPathUtilities.h.- (NSString *)lastPathComponent; - (NSString *)stringByDeletingLastPathComponent; - (NSString *)stringByAppendingPathComponent:(NSS...