第6章 文字列操作

0

Pythonには文字列を操作する機能があらかじめ組み込まれている。文字列をある文字で2分割したり、すべて大文字に変換したりなどの機能がある

もしすべてが大文字で書かれた文字列があってこれをすべて小文字に変えたいときその操作もPythonで提供されている

以下機能説明

3重クォート文字列

文字列を複数行書きたい場合、クォートを3つ使う3重クォートに挟んで書く

""" line one
    line two 
    line three
"""

インデックス

文字列はリストやタプルと同じようにイテラブル(繰り返し可能なオブジェクト)です。

author = "Kafka"
author[0]
author[1]
author[2]
author[3]
author[4]

>>'K'
>>'a'
>>'f'
>>'k'
>>'a'

このコードでは0,1,2,3,4を使ってkafkaの文字を取り出している

author = "Kafka"
author[5]

>>IndexError: string index out of range

文字数よりも大きい値を取り出そうとするとPythonは例外を発生する。

文字列はタプルと同じようにイミュータブル

文字を入れ替えたいときは新しい文字列を作らなければならない。

ff = "F. Fitzgeald"
ff = "F. Scott Fitzgeald"

ff

>>F.Scott Fitzgerald

ある文字列からちょっとだけ変更した新しい文字列を作り出すメソッドもありますが後半で。

文字列の足し算

"cat" + "in" "hat"

>>'catinhat'

"cat" + "in" + "the" + "hat"

>>'catinthehat'

文字列の掛け算

"Sawyer" * 3

>>SawyerSawyerSawyer

大文字小文字変換

文字列をすべて大文字に変換するにはupperメソッドがある

"We hold these truths...".upper()

>>'WE HOLD THESE TRUTHS...'

同様にすべての文字を小文字に変換するにはlowerメソッドがある

"SO IT GOES.".lower()

>> 'so it goes.'

文字列の最初の文字を大文字で書くことをキャピタライズという。

capitalizeメソッドを使えば文字の先頭だけ大文字で残りを小文字でできる。

"four score and....".capitalize()

>>"Four score and..."

書式化

formatメソッドを使えば、文字列の一部を後で穴埋めして新しい文字列を返せます。書式化(フォーマット)文字列は後で置き換えたい部分を波かっこで囲っておき書式化設定(フォーマットメソッド呼び出し)で置き換える値を渡す

"こんにちは" {}".format("ウィリアム・フォークナー")

>>'こんにちは、ウィリアム・フォークナー'