Python如何为字符串“ sample”分配唯一的内存地址?当每个字符存储在不同位置时

问题描述 投票:0回答:1

python如何为字符串“ sample”分配唯一的内存地址,因为它使用6个单元将unicode字符存储在字符串“ SAMPLE”中,因为这6个单元指向12个存储地址(因为1个单元指向2个存储地址)

enter image description here

python arrays python-3.x string memory-management
1个回答
0
投票

C Python实现将字符串包装在C结构中,该结构包括字符串类型,长度和指向保存该字符串的内存的指针。字符串中的每个字符都可以用1(UCS1),2(UCS2)或4(UCS4)字节表示。 Python仅保留第一个字符的地址和字符串的长度。然后,它可以通过该指针上的简单数学运算来找到字符串中的任何字符。对于UCS2,某些index处的字符为pointer + (sizeof_character * index)

© www.soinside.com 2019 - 2024. All rights reserved.