We All Get Old - Naskin Diary

Yet Another My Life On The Web

Python 一人勉強会 - 第7章 文字列

ハイクフィードの調整にはまっていて「初めてのPython 第3版」からすっかり遠ざかり前回から一週間以上遠ざかってしまいました。


今日は「第7章 文字列」を読みました。

文字同士は「+」がなくても連結される(暗黙の連結)。

str = 'We ' "all" ' get' " old"
>>>  print str
We all get old
>>>

エスケープシーケンス

「\0」はNULL。文字列の終端を意味しない。

raw文字列

「r'\twitter'」と書けば「(タブ)witter」ではなく文字通り「\twitter」として扱われる。
raw文字列を使えばエスケープシーケンスを打ち消すために「\\」と書く必要はない。

>>> print '\twitter'
	witter
>>> print r'\twitter'
\twitter

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

PHPのヒアドキュメントみたいなもんかな。

演算子

文字列を繰り返す*演算子。これは便利。自分で数える手間が減っていい(笑

>>> print '-'*80
--------------------------------------------------------------------------------
>>> 


「in」ってこんな使い方もできるのか。

>>> job = 'freelancer'
>>> 'l' in job
True
>>> 'b' in job
False
>>> 

インデクシングとスライシング

文字列はC言語の配列のように扱える。しかも負数を使って後ろの文字を指定することも可能。
ただスライシング(範囲を指定)したときに終りの文字が含まれないのが混乱する(下の例では「el」)。

>>> str = 'hello'
>>> str[0]
'h'
>>> str[-1]
'o'
>>> str[1:3]
'el'
>>> 


3つ目のインデックスを指定すると...

>>> str = 'abcdefghij'
>>> len(str)
10
>>> str[0:6:2]
'ace'

0文字目(a)から5文字目(e)まで2文字おきに文字を抽出できる。
例では適当にやったのに偶然にも「撃墜王」を意味する言葉が浮かび出た。

文字列フォーマット

C言語のprintf 文のようにいろいろ指定することが可能。
あと 変数と値をディクショナリにしてくれる vars()関数が面白そうだった。


広告

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)