是否以及如何在Cython中正确使用Python格式的字符串
我想知道如何声明一个采用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
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派生值,我在编译代码时没有问题。