Pythonの文字列のCの「\ 0」のような終了文字はありますか? C で次のコードを使用して、文字列を 1 文字ずつ出力できます。
while (ch[c] != '\0')
{
putchar(ch[c]);
c++;
}
Python では、文字列はオブジェクトです。属性とメソッドが付属しています。char*
これを、基本的に単なるメモリアドレスである C と実際に比較することはできません。
文字列オブジェクトで関数を使用しlen(...)
て、その長さを知り、それについて何でもすることができます。
文字列をループしたい場合は、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
Python 文字列は NULL で終了しません。
文字列だけにしないのはなぜですか?
>>> ch = 'abcd'
>>> print(ch)
abcd