読者です 読者をやめる 読者になる 読者になる

oneshotlife-pythonのブログ

Pythonを好んで使っているプログラマです。Pythonこそが最強のプログラミング言語だと思っています。Pythonは使いやすいです。Pythonは書きやすいです。Pythonは読みやすいです。Pythonはパワフルです。Pythonは一貫性があります。Pythonが好きです。

Python文法:文字列 #Python

文字列の表記方法

ダブルクウォーテーション

標準的な書き方です。

>>> "Hello"
'Hello'

だいたいの場合、シングルクウォーテーションと大差ありません。しかし、文字列中にシングルクウォーテーションがある場合は、ダブルクウォーテーションで括ると良かったりします。

>>> "I'm Tom."
"I'm Tom."

シングルクウォーテーション

標準的な書き方です。

>>> 'Hello'
'Hello'

だいたいの場合、ダブルクウォーテーションと大差ありません。しかし、文字列中にダブルクウォーテーションがある場合は、シングルクウォーテーションで括ると良かったりします。

>>> 'He said "Hello!"'
'He said "Hello!"'

トリプルクウォーテーション

トリプルクウォーテーションというものもあります。他言語だと、ヒアドキュメントなんて呼ばれたりします。改行も含めて表現したい場合に便利です。

>>> '''Hello,
World!'''
'Hello,\nWorld!'

Unicode文字列

クウォーテーションの前にuを付けると、Unicodeで文字列を扱えます。

>>> u"日本語"
u'\u65e5\u672c\u8a9e'
>>> print u"日本語"
日本語

エスケープシーケンス

文字の中には1文字では表せない文字も存在します。例えば改行です。このような特殊な文字を記述するために使われるのがエスケープシーケンスです。

エスケープシーケンス 意味
¥¥ 「¥」文字そのもの
¥' シングルクオーテーション
¥" ダブルクオーテーション
¥a ベル
¥b バックスペース
¥f 改ページ
¥r キャリッジリターン
¥n 改行
¥t 水平タブ
¥v 垂直タブ
¥N{name} Unicode データベース中で名前 name を持つ文字
¥uxxxx 16ビットの16進数値xxxxを持つUnicode文字
¥Uxxxxxxxx 32ビットの16進数値xxxxxxxxを持つUnicode文字
¥ooo 8進数oooを持つASCII文字
¥xhh 16進数hhを持つASCII文字
¥0 NU
¥+(改行) 文字列を途中で改行する

>>> 'I\'m Tom.'
"I'm Tom."

文字列の演算

文字列の連結

>>> "ABC" + "XYZ"
'ABCXYZ'

文字列の繰り返し

>>> "Hello" * 3
'HelloHelloHello'

文字列のレングスを取得

文字列の場合

バイト数が取得出来ます。

>>> len("abc")
3
>>> len("日本語")
6

Unicode文字列

文字数が取得出来ます。

>>> len(u"abc")
3
>>> len(u"日本語")
3

参考書籍

入門 Python 3

入門 Python 3