Python 5日目

http://www.pythonweb.jp/tutorial/string/index.html
文字リテラル
リテラルがわからんが放置。

組み込み型=ビルトインオブジェクトかな?
シーケンス=複数の要素がある、要素が順番を持つ

文字列もシーケンスの1つ。
文字列として扱わせるには""か''で囲む。
""も''もどちらも同じものとして扱われる。

printは関数ではなくて文というのはまた意味がわからん。
http://blog.redhawk.jp/2008/01/python-19.html
⇒expressionとstatementを分けて考えることが重要らしい。

エスケープシーケンス=1文字で表せない文字。たとえば改行。
\+(改行)
文字列のの途中で改行したくなったとき
"あいうえお\
かきくけこ"
とすると、見た目は改行されているが実際は改行されずに出力される。

垂直タブとか、ベルとか見たことない文字がある。後で試す。

トリプルクオーテーション
"""あいうえお
かきくけこ
さしすせそ"""
プログラム中で改行されているところに\n記号が入っていると解釈される。

raw文字列
エスケープシーケンスを無効にする
r'あいうえお'
r""
R''
R""
どれでもOK.
ファイルのパスのように\を多く含む文字列を書くときに有効。

ユニコード文字列
UFT-8を使っている場合、u''でOK

Sihft_JISなどの場合、
unicode('あいうえお','Shift_JIS')
としなければならない。
ユニコードとrawを同時に指定するときはur''。uが先。

文字列の連結
"aiueo"+"kakikukeko"
ユニコード文字列も連結可能。
文字列とユニコード文字列の連結はユニコード文字列ができる。

文字列の繰り返し
"-"*40

                                                                  • -

文字列の長さ取得
len("python")
len(u"あいうえお")
6と5になる。
ユニコード文字列では文字数になる。
ユニコード文字列の文字数ではなくバイト数がほしいときは、
len(u"あいうえお".encode("UFT-8"))とする。