1

Pythonの文字列のCの「\ 0」のような終了文字はありますか? C で次のコードを使用して、文字列を 1 文字ずつ出力できます。

while (ch[c] != '\0')
{
   putchar(ch[c]);
   c++;
}
4

3 に答える 3

2

Python では、文字列はオブジェクトです。属性とメソッドが付属しています。char*これを、基本的に単なるメモリアドレスである C と実際に比較することはできません。

文字列オブジェクトで関数を使用しlen(...)て、その長さを知り、それについて何でもすることができます。

于 2013-08-09T06:10:18.997 に答える
1

文字列をループしたい場合は、for ループを使用できます。

import sys
for c in ch:
    sys.stdout.write(c)

ただし、これは新しい行を追加することを除いて、同様に機能します

print ch

これは新しい行を印刷しません(ただし、スペースを追加します)

print ch,

インデックスが必要な場合は、上記のいずれかを行うことができますが、列挙型の方法で行います。

for i, c in enumerate(ch):
    print i, c

これは与える:

0 a  
1 b  
2 c  
3 d 

推奨されていない、よりCに似たアプローチの場合、これを行うことができます:

ch = "abcd"
i = 0
while i < len(ch):
    ch[i]
    i += 1
于 2013-08-09T06:10:21.320 に答える
0

Python 文字列は NULL で終了しません。

文字列だけにしないのはなぜですか?

>>> ch = 'abcd'
>>> print(ch)
abcd
于 2013-08-09T06:04:24.867 に答える