Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否以及如何在Cython中正确使用Python格式的字符串_Python_Cython - Fatal编程技术网

是否以及如何在Cython中正确使用Python格式的字符串

是否以及如何在Cython中正确使用Python格式的字符串,python,cython,Python,Cython,我想知道如何声明一个采用Python字符串的变量,如下所示: current = 'Count: {:,}/{:,} in {:.0f} min | {:,.0f}/min | ETA: {:,.0f} min ({:,.0f} h)'\ .format(cnt, total, time_past, count_per_min, eta, eta/60) 甚至将这部分“cythonize”也有意义吗 我想原因是什么 cdef char* curr

我想知道如何声明一个采用Python字符串的变量,如下所示:

current = 'Count: {:,}/{:,} in {:.0f} min | {:,.0f}/min | ETA: {:,.0f} min ({:,.0f} h)'\
                        .format(cnt, total, time_past, count_per_min, eta, eta/60)
甚至将这部分“cythonize”也有意义吗

我想原因是什么

cdef char* current

行不通的是字符串的长度可能会改变,人们必须猜测。

凭直觉,我猜您不会看到任何改进。最后,您必须创建新的字符串对象。但是你不能只写一个cythonized版本并比较计时吗?你会如何cythonized它?啊,你的意思是你想替换
格式
调用并手动创建字符串,并希望提高速度?我不会那么做的。创建字符串后,您可能希望将其写入某个地方,我非常确定写入开销将超过字符串创建开销。如果我尝试编译itHmm,则二进制字符串格式化程序和.format()函数不一定都会在此处提出一个
存储临时Python引用的不安全C派生值,我在编译代码时没有问题。