バリケンのPython日記 RSSフィード

2008-07-01

[] 文字列(1)  文字列(1) - バリケンのPython日記 を含むブックマーク はてなブックマーク -  文字列(1) - バリケンのPython日記  文字列(1) - バリケンのPython日記 のブックマークコメント

以前のエントリでも出てきたけど、Python文字列は「str型」だよ。

文字列は、シングルクォートかダブルクォートで囲って表現するよ。

>>> 'hoge fuga'
'hoge fuga'
>>>

Rubyではシングルクォートとダブルクォートでは意味が違う(ダブルクォートでは文字列への式の埋め込み記法が使えたり、いろんなエスケープ記法が使えたりする)けど、Pythonでは「シングルクォートで囲った文字列の中ではダブルクォートがそのまま使える」「ダブルクォートで囲った文字列の中ではシングルクォートがそのまま使える」という違い以外はとくに違いはないみたいだよ。

シングルクォート中でシングルクォートを表現したいときは「\'」とするよ。

>>> 'That\'s good.'
"That's good."
>>>

ダブルクォート中ならシングルクォートがそのまま表現できるよ。もちろんその逆も可能で、シングルクォート中ならダブルクォートがそのまま表現できるよ。

>>> "That's good."
"That's good."
>>> 'I said "No".'
'I said "No".'
>>>

ダブルクォート中でダブルクォートを表現したいときは「\"」とするよ。

>>> "I said \"No\"."
'I said "No".'
>>>

シングルクォートとダブルクォートが混在するような文字列を作りたいときは、片方を「\」で表現すればいいよね。

>>> '"I can\'t," he said.'
'"I can\'t," he said.'
>>>

対話モードの戻り値を見ると、なんだかよくわからないねえ。そういうときはprint文で文字列を表示すれば、意図した文字列が生成されていることが確認できるよ。

>>> a = '"I can\'t," he said.'
>>> print a
"I can't," he said.
>>> 

以前のエントリでも書いたけど、print文は「文」だから、戻り値がないよ。画面に表示されている「"I can't," he said.」は、print文の戻り値ではなくて、標準出力である「画面」に文字列が書かれた、ということみたいだよ。

トラックバック - http://python.g.hatena.ne.jp/muscovyduck/20080701