Python入門 - 文字列
Pythonで文章を書く
Pythonで扱えるデータには数値の他にも「文字列」があります。「'」「"」で囲った部分が文字列になります。
>>> print('I am programmer!')
I am programmer!
>>> print("I am programmer!")
I am programmer!
>>> print('110')
110
>>> print('090-XXXX-YYYY')
090-XXXX-YYYY
このように、数値も「'」「"」で囲えば文字列です。変数ももちろん使えます。
>>> iam = 'I am '
>>> prog = 'programmer!'
>>> print(iam + prog)
I am programmer!
数値だと「+」は普通の足し算ですが、文字列では2つの文字列をくっつけた文字列になります。
ここで1つ、Python(というかIDLE)の弱点があります。日本語に弱いのです。私は現在MacでIDLEを使っているのですが、直接、日本語を入力できないのです(わざわざ別の場所で書いたものをコピへしています)。Python3 では、文字列はUTF-8で表現されます。
エスケープシーケンス
文字列でアルファベットや数値、ひらがなを書くのは問題ありませんが、特殊な文字を表すことができません。これを解決するのがエスケープシーケンスです。「¥」(日本語キーボードでは円記号、英語キーボードではバックスラッシュ)を最初につけることで、特殊な文字を表すことができます。
- \\ 「\」バックスラッシュ
- \'「'」シングルクォーテーション
- \" 「"」ダブルクォーテーション
- \a ベル(ベル音を鳴らす)
- \b バックスペース
- \f 改ページ フォームフィード
- \n 改行 ラインフィード
- \r キャリッジリターン
- \t 水平タブ
- \r 垂直タブ
- \N{name} Unicodeデータベースで名前nameを持つ文字(Unicodeのみ)
- \uxxxx 16ビットの値で表されるUnicode文字(xxxxは16進数)
- \Uxxxxxxxx 32ビットの値で表されるUnicode文字(xxxxxxxxは16進数)
- \ooo 8進数で表されたASCIIコード(oooが8進数)
- \xhh 16進数で表されたASCIIコード(hhが16進数)
- \0 NULL文字
>>> print('i\'m programmer!')
i'm programmer!
>>> print('Hello\n\tWorld!')
Hello
World!
>>>