如何像C使用while一样使用python在内存中查找00000000!=00000000

如何像C使用while一样使用python在内存中查找00000000!=00000000,python,c,memory,string-length,Python,C,Memory,String Length,每次计算机在内存中存储一个字符串,例如单词“apple”,它不是使用5个字符,而是使用6个字符,'a'、'p'、'p'、'l'、'e'+'null'因此将00000000 aka'\0'放在最后一个字节中。 下面是用c语言编写的代码: // assuming string A = 'apple' int count = 0; while (A[count] != '\0') { n++; } 所以我用python尝试了下面的代码,它不起作用,出了什么问题 A = 'apple' count

每次计算机在内存中存储一个字符串,例如单词“apple”,它不是使用5个字符,而是使用6个字符,
'a'、'p'、'p'、'l'、'e'+'null'
因此将00000000 aka'\0'放在最后一个字节中。 下面是用c语言编写的代码:

// assuming string A = 'apple'
int count = 0;
while (A[count] != '\0')
{
  n++;
}
所以我用python尝试了下面的代码,它不起作用,出了什么问题

A = 'apple'
count = 0
while A[count] != '\0':
    count+=1

print(count)
注意:这里的重点不是获取长度,重点是如何使用while获取长度!=亿


附加说明:python如何在内存中存储字符串,它是否像c一样将00000000放在最后?如果没有,假设我使用c在内存中放入00000000,那么如何使用python在内存中找到00000000?

python不使用null终止字符串;元数据存储在别处


如果要获取字符串的长度,可以使用
count=len(a)
python
字符串
不是
NULL
分隔的
python不会以这种方式存储字符串。这是一个C约定。您可以使用
len
,句点获取python字符串的长度。只有一种显而易见的方法可以做到这一点。顺便说一句,在C语言中,应该使用strlen,因为编译器会更容易知道如何优化它。Python和C是两种不同的语言,具有不同的语法和语义。但是字符串存储在内存中,对吗?或者python不像c那样在内存中存储字符串?那么字符串在哪里,我如何在内存中找到00000000?如果必须使用while,我如何使它工作!='\我不知道你想要完成什么;你能举个例子说明你的输入是什么样子的,以及你想要什么作为你的输出吗?如果有一个字符串要用分隔符拆分为多个字符串,则可能需要使用
split
函数。()否则,如果你只看单个字符串,它们已经为你分开了;Python的一个优点是它处理了很多奇怪的字符串/数组/指针,需要在C中仔细处理。Python如何在内存中存储字符串,它是否像C一样将00000000放在最后?如果没有,假设我使用c将00000000放入内存,那么我如何使用python在内存中找到00000000呢;当您编写python代码时,它往往与实际的内存实现相去甚远。我不希望能够找到空终止字节(如果它存在的话;它们可能会用长度信息来预写字符串)