在Python中实现字符串函数?

Kev*_* Li 0 python string implementation pypy

有没有关于如何在Python中实现Python字符串函数的文档?

我知道str是一个内置模块,因此它的功能是用C实现的.但是不管它有代码吗?在Pypy怎么样?从我到目前为止所读到的,他们已经在Python中重新实现了许多内置模块.

示例问题:如何实现字符串的split方法?(没有编写我自己的实现)

编辑:我不是在寻找用C编写的实现(这是Python/CPython源代码中的默认实现).

ig0*_*774 5

这并没有真正回答提出的问题,只是有点太长时间无法发表评论.

通过源代码快速挖掘表明PyPy有两个实现split(),这个高级可读版本这个低级版本,似乎是split()rpython本身的实现.

这些实现都不等同于CPython的split()方法(最明显的是它们不处理CPythonsep没有提供的情况下所做的特殊情况).但是,如果您只是对所使用的基本算法而不是细节感兴趣,那么PyPy的实现可能是一个指南(快速浏览一下,它看起来与CPython和Jython基本相同).

但是,作为一般资源,没有理由认为PyPy的所有字符串函数的实现都会反映CPython中使用的算法 - 毕竟PyPy是作为在JIT中运行的Python的优化版本,这可能有对方法的最合理实现的重要影响(特别是字符串函数,其通常可能是性能瓶颈,并且"优化"运行时的实现者因此具有优化的动机).

考虑到更普遍的问题,CPython开发人员很少有动力维护已经在C中维护的低级库的单独的纯Python实现集.似乎镜像实现会变得过时的风险很大或者对实际执行的操作不准确,这最终可能对那些试图理解Python内部工作原理而不阅读C代码的人有害.

  • 使用的实现是在objspace/std/stringobject.py中 (3认同)