Pythonを真面目にゆっくり学ぶべく
を参考に学んでいきます*1。
前回
2. Pyの成分:数値、文字列、変数
2.3 文字列
プログラマーは数字よりも文字列を扱うことの方が圧倒的に多い。
は
標準をサポートしているため、さまざまな言語の文字や記号を扱うことができる。
の文字列はイミュータブルであり、その場で書き換えることができない。
2.3.1 クオートを用いた作成
で文字列は、シングル・クオートまたはダブル・クオートで文字を囲むことで作る。両方が使えるのは、一方を含む文字列を作成するのが容易になるためである。
また3個のシングルクオート(またはダブルクオート)で囲むことでも文字列を作成できる。これは複数行に渡る文字列を作るのに使うのが普通である。
#################### ### 文字列の作成 ### #################### print("ある日、森の中、熊さんに出会った。") # 漢字も問題ない print("J'ai fatigué à étudier le français." ) # フランス語の特殊文字も問題なし print('abc') print("abc") print("'abc'") print('"abc"') str = '''abcd efgh ijkl''' print(str)
文字列には空文字列が存在する。空文字列は、他の文字列から新しく文字列を組み立てる際に必要になる。
bottles = 99 base = '' base += 'current inventory: ' base += str(bottles) print(base)
2.3.3 +による連結と*による繰り返し
前々節でも示したように+演算子でリテラれる文字列および文字列変数を連結できる。また*を用いると文字列を繰り返すことができる。
print('test '*4)
2.3.4 []による文字の抽出
letters = 'abcdefghijk' # 文字の抽出 print(letters[2])
2.3.5 スライス
letters = 'abcdefghijklmnopqr' print(letters[:]) # abcdefghijklmnopqr print(letters[1:]) # bcdefghijklmnopqr print(letters[:3]) # abc print(letters[3:6]) #def print(letters[1:15:2]) # bdfhjln
2.3.5 len()
letters = 'abcdefghijklmnopqr' len(letters)
2.3.6 split()による分割とjoin()による結合
########################################## ### split()による分割とjoin()による結合### ########################################## words = 'get lost, play back, get up' words = words.split(sep = ',') print(words) words = ','.join(words) print(words)
2.3.7 replace()による置換
test = 'a long time ago' test.replace('a ', 'not a ')
*1:第2版が出ているものの初版しか持っていないのでこちらで。