概要
初学者向けにPythonの基本的な内容をまとめて寄稿します。今回は、文字列の取り扱いについてまとめました。
※あまりに自明すぎる基礎知識は省いている場合が御座います。
文字列の取り扱い
文字列を表現する方法
文字列を表現する為にはシングルクォーテーションまたはダブルクォーテーションで囲む事で行えます。
エスケープシーケンス
エスケープシーケンスとはバックスラッシュと特定の文字を組み合わせる事で表現された特殊な文字列(具体的に何を表現出来るかは以下参照)。
改行:\n
タブ:\t
文字列の中でも'と"を使う:\'(\")
対話型インタープリタでの出力結果
対話型インタープリタで文字列を出力すると引用符に囲まれた状態で出力されます。
また特殊文字はエスケープされた状態で出力されます。
print関数
print関数は文字列や数値を画面に出力します。
print('hogemaru\nhogesuke')
>>hogemaru
>>hogesuke
raw文字列
raw文字列は特殊文字として解釈してほしくない場合に使用します。
print(r'名前は\"hogeking\"です。')
>>名前は\"hogeking\"です。
トリプルクォーテーション
複数行にわたって文字列を記述する際はトリプルクォーテーション(""" """または''' ''')を使用します。
print("""
こんにちは。
私はhogeです。
仲良くして下さい。
""")
>>こんにちは。私はhogeです。仲良くして下さい。
文字列の連結
文字列の連結は加算演算子(+)を用いて行います。
print('hoge' + 'hoge')
>>hogehoge
文字列を繰り返す
文字列を"文字列" * 回数で繰り返す事が出来ます。
print('hoge' * 3)
>>hogehogehoge
文字列のインデックス指定
インデックス指定を行う事で文字列の中の文字を取得する事が出来ます。
str1 = "hoge"
print(str1[0])
>>h
右から数える場合はマイナスの値で指定します。
str1 = "hoge"
print(str1[-1])
>>e
インデックス指定したものを連結する事も出来ます。
str1 = "hoge"
print(str1[0] + str1[1])
>>ho
範囲外を指定した場合はIndexErrorになります。
str1 = "hoge"
print(str1[4])
>>IndexError: string index out of range
スライス
スライスを用いる事で部分文字列を習得する事が出来ます。
str1 = "hoge"
print(str1[0:2])
>>ho
またスライスは以下のように省略も出来ます。
省略の場合は
str1 = "hoge"
print(str1[:2])
>>ho
print(str1[2:])
>>ge
print(str1[:])
>>hoge
そしてこちらもスライスしたもの同士で連結するが可能です。
一つ注意点としてスライスで範囲外のインデックスを指定した場合エラーにならないのは注意しなくてはいけない点です。
str1 = "hoge"
print(str1[4:5])
>>on
文字列は改変出来ない
文字列はstr型ですのでイミュータブルな型の一つな為、改変出来ません。
イミュータブルとは変更できないオブジェクトの事です。
str1 = "hoge"
str1[0] = 'a'
>>TypeError: 'str' object does not support item assignment
ビルトイン関数
ビルトイン関数とは最初から組み込まれている関数の事です。
例として
- len関数
- print関数
- type関数
などがあります。
まだ紹介してないlen関数とtype関数について補足説明致します。
len関数はオブジェクトのサイズを取得する関数。
type関数はオブジェクトのデータ型を取得する関数。
例は以下の様になります。
str1 = "hoge"
print(len(str1))
>>4
print(type(str1))
>><class 'str'>