[Python勉強日記:005] 文字列 その1
2007/11/12 23:33 posted by kunkichi
わー、いきなり放置状態!(爆)
いやー、ほんと忙しいのですよ、最近。帰ってきてもブログ更新するエネルギーがなくて、土日も基本的には何もせず完全に引きこもり状態(笑)
これではいかん、ということで、がんばって進めます。今日は『文字列』。
クォーテーション
Pythonで文字列を使う場合は、Perl や PHP と同じく、クォーテーションを使う。
>>> 'Hello, World'こんな感じでシングルクォーテーションもダブルクォーテーションも普通に使えます。
'Hello, World'
>>> "Hello, World"
'Hello, World'
クォートの中でクォートを文字列として使いたい場合はエスケープする。
>>> 'O\'reiily'
"O'reilly"
ただし、ダブルクォーテーションの中でシングルクォーテーションを使う場合や、その逆の場合はクォートする必要はありません。
>>> "O'reilly"
"O'reiily"
で、Perl や PHP と違うところは、シングルクォーテーション/ダブルクォーテーションの違いは全くなくて単にエスケープしなくていいということだけ。Perl や PHP だと ダブルクォーテーション内の変数は展開されるんだけど、Pythonではそうではないみたい。
>>> a='string'んー、変数を使いたい場合は文字と変数を連結させて使うのかな? 書籍にははっきり書いてない。
>>> "a"
'a'
>>> a
'string'
とりあえず、文字の連結は単に並べて書くだけ。一応”+”も使えます。
>>> "apple" 'lemon' "orange"
'applelemonorange'
エスケープ
上にも書いたエスケープは普通に使えるようなんだけど、一つだけ補足。
例えばタブをエスケープする。
>>> 'a\tb\tc'おっと、エスケープされない。
'a\tb\tc'
この場合はprint文を使う。
>>> print 'a\tb\tc'
a b c
raw文字列
エスケープシーケンスを使わずに特殊文字を使う方法もある。例えばWindowsのパスの表記を例にしてみる。
>>>print 'c:\test\test' わ、えらいことになっている。こういった場合にraw文字列を使う。クォートの前に”r”をつける。
c: est est
>>> print r'c:\test\test'q// とか qq// っぽいね。
c:\test\test
もちろん、\\みたいな感じで表現することも出来るけど、こっちのほうが便利。
トリプルクォーテーション
複数行をまとめてヒアドキュメントみたく使う場合は、トリプルクォーテーションを使う。
>>> HERE = """改行は自動的に\nに置き換えられるね。print文を使うと、入力したままに表示される。
... apple
... lemon
... orange"""
>>> '\napple\nlemon\norange'
>>> print HERE
apple
lemon
orange
文字列いろいろ
じゃここからはいろいろ文字列で遊んでみる。
まずは連結。
>>> "abc" + "def"
'abcdef'
次は文字数を数えてみる。
>>> len("abc")
3
繰り返し。
>>> "-"*10
'----------'
forループで順番に文字を表示してみる。
>>> for c in "apple": print c,
...
a p p l e
inを使うと、文字列の中にとある文字が含まれているかのチェックが出来る。
>>> "a" in "apple"
True
>>> "a" in "lemon"
False
うー、疲れたー、インデクシングとスライシングはまた明日〜(爆)






コメント&トラックバック
トラックバックURL: