Python入門 pythonで文字列操作その2
Python入門 pythonで文字列操作その2
はじめに
前回に引き続き、Pythonの文字列操作を練習していきましょう。
今回は、
・複数行の文字列の扱い
・コメントアウト
・シングルバイトとマルチバイト文字列の考え方
について説明します。
Pythonで複数行の文字列
以下のpythonサンプルファイルを作成してみましょう。
【python_sample4-1.py】
str = """ aaa bbb ccc """ print str
上記のファイルが作成できたら保存し、実行してみましょう。
# python python_sample4-1.py aaa bbb ccc
上記の「”””」のように3つのダブルクォテーションでまとめることで、複数行の文字列をまとめることができます。このように文字列をまとめる方法と、文字列の宣言だけがPythonでは可能であることを利用して、簡単に複数行のコメントアウトが可能になります。
【python_sample4-2.py】
""" print "aaa" print "bbb" print "ccc" """
上記を実行しても、何も出力されません。
上記の3行のPythonの処理は文字列扱いになるためです。
Pythonでシングルバイト文字列とマルチバイト文字列
次に一つ関数を使ってみましょう。
【python_sample4_3.py】
# coding: utf-8 l1 = len('python') print l1 l2 = len('パイソン') print l2
「len」は文字列の長さ(length)を取得するPythonの関数です。
これをシングルバイト(1文字1バイト)の「python」を引数に渡して実行すると、l1は「6」になります。
一方マルチバイト(1文字が複数バイト分になる)の「パイソン」を引数に渡して実行すると、l2は「12」になります(このことから「パイソン」の文字列を「utf-8」という文字コードで扱うと、1文字が3バイトの扱いになることが分かります)。
「パイソン」の文字数を取得したい場合は、文字列の前に「u」(uはunicodeのu)を付けてあげます。
l2 = len(u'パイソン')
こうすると「4」が表示されます。
このようにPythonを含むプログラム言語ではシングルバイトとマルチバイトの違いを理解しておく必要がありますので、注意しましょう。
まとめ
今回もPythonでの文字列の扱いの練習を行いました。関数「len」の使い方とマルチバイト文字の話も登場しましたので、合わせて覚えておきましょう。次回は日付型の話をしていきます。