Python会进行逐个切片,这意味着每次切片时(非常琐碎的切片(例如
a[:])除外),它都会将所有数据复制到一个新的字符串对象中。
根据一位开发人员的说法,之所以做出此选择是因为
[按引用切片]方法更复杂,更难实现并且可能导致意外行为。
例如:
a =“带有500,000个字符的长字符串...”b = a [0]德拉使用“按切片复制”设计,
a可以立即释放字符串。尽管您只对第一个字符感兴趣,但按切片的设计会将500kB的字符串保留在内存中。
显然,如果您绝对 需要
一个字符串视图,则可以使用一个
memoryview对象。



