![]() |
1
3
Python3不是实习生
这是非常不同的封面下。另一方面,这意味着没有表(带有API)可供操作。另一方面,这意味着如果可以找到静态数组,就可以修复它,就像处理int一样,因为数组索引和字符串的字符值应该是相同的。
如果你往里看
然后,例如,在
请注意,数组是
所以,没有“正确”的方法来清理这个。 但是如果你想变得更黑 如果您有一个对任何单个字符字节的引用,并且您知道它应该是哪个字符,那么您可以到达数组的开头,然后清理整个内容。
除非你把事情搞得比你想象的还要糟,否则你可以只构造一个字符
事实上,可能有一些方法可以让事情变得更糟,这些方法看起来都不太可能,但为了安全起见,让我们使用一个你不太可能打破的角色
唯一的另一个警告是,如果您尝试从Python使用
现在我们有了一个指向
就这些。 嗯,除了编译。 2. 幸运的是,在交互式解释器中,每个完整的顶级语句都是它自己的编译单元,因此在运行修复程序后,您应该可以使用键入的任何新行。 但是你导入的一个模块,当你有坏字符串的时候,它必须被编译?你可能把它的常数搞砸了。除了强制重新编译和重新导入每个模块之外,我想不出一个好的方法来清理这个问题。
1.编译器可能会将您的
2.如果你用
|
![]() |
2
2
我遵循了@abarnert的伟大解释,下面是我在Cython中对他的想法的实现。 需要考虑的事项:
这将导致以下实施:
稍有不同(我认为与原提案相比有优势):
现在:
出于测试目的,池中的所有对象(几乎)都存在函数损坏:
|
![]() |
max · 子类方法是如何在CPython中实现的? 8 年前 |