Kev*_* Li 0 python string implementation pypy
有没有关于如何在Python中实现Python字符串函数的文档?
我知道str是一个内置模块,因此它的功能是用C实现的.但是不管它有代码吗?在Pypy怎么样?从我到目前为止所读到的,他们已经在Python中重新实现了许多内置模块.
示例问题:如何实现字符串的split方法?(没有编写我自己的实现)
编辑:我不是在寻找用C编写的实现(这是Python/CPython源代码中的默认实现).
这并没有真正回答提出的问题,只是有点太长时间无法发表评论.
通过源代码快速挖掘表明PyPy有两个实现split()
,这个高级可读版本和这个低级版本,似乎是split()
rpython本身的实现.
这些实现都不等同于CPython的split()
方法(最明显的是它们不处理CPython在sep
没有提供的情况下所做的特殊情况).但是,如果您只是对所使用的基本算法而不是细节感兴趣,那么PyPy的实现可能是一个指南(快速浏览一下,它看起来与CPython和Jython基本相同).
但是,作为一般资源,没有理由认为PyPy的所有字符串函数的实现都会反映CPython中使用的算法 - 毕竟PyPy是作为在JIT中运行的Python的优化版本,这可能有对方法的最合理实现的重要影响(特别是字符串函数,其通常可能是性能瓶颈,并且"优化"运行时的实现者因此具有优化的动机).
考虑到更普遍的问题,CPython开发人员很少有动力维护已经在C中维护的低级库的单独的纯Python实现集.似乎镜像实现会变得过时的风险很大或者对实际执行的操作不准确,这最终可能对那些试图理解Python内部工作原理而不阅读C代码的人有害.