この記事ではpythonで使う文字列について解説していきます。
この記事で学べる事
- 文字列とは
- 文字列の連結
- イミュータブルとミュータブル
- シーケンス
- インデックス
- スライス
- メソッド
文字列とは
文字列とはpythonの中で使う文字の事を言います。
文字列はpythonで最も使用頻度が高い型です。
この記事では文字列の代表的な使い方について解説します。
文字列は基本的な文法の一つでよく使う文法なのでしっかり覚えてください。

文字列を連結させる演算子
文字列の連結は+演算子で連結することが出来ます。
+演算子を数値に使うと加算(足し算)になりますが文字列に使うと連結になります。
このように型によって同じ演算子でも働きが変わるので常に型を意識してプログラミングを行うのがおすすめです。
#文字列の連結の使い方
文字列+文字列
このようにして文字列の連結を行います。
試しに‘he’と’llo’を連結してみます。
#例題
>>>print('he' + 'llo')
#表示結果
'hello'
このように文字を繋げることができます。
以下は広告です。
数値と文字列の連結
次に数値と文字列の連結の仕方について解説します。
数値と文字列の連結はstr関数を使う必要があります。
試しに‘バージョン’と1.0を連結してみます。
#例題
>>>print('バージョン' + str(1.0))
#表示結果
'バージョン1.0'
文字列と数値を連結するときはstr関数を使うことを忘れないようにしましょう。
累算代入文での連結
最後に累算代入文で連結させる方法を解説します。
文字列の連結は累算代入文でも行うことが出来ます。
試しに‘apple’と-リンゴを連結してみます。
#例題①
>>>x = 'apple'
>>>print(x)
#表示結果
'apple'
#例題②(上の例題の続き)
>>>x += '-リンゴ'
>>>print(x)
#表示結果
'apple-リンゴ'
このように累算代入文でも文字列を連結させることが出来ます。
イミュータブルとミュータブル
イミュータブルとミュータブルはオブジェクトの一つです。
イミュータブルは変更不可能なオブジェクト、ミュータブルは変更可能なオブジェクトです。
文字列はイミュータブルなオブジェクトなので変更はできません。
変更はできないのに連結ができるのは結果の文字列が新しく生成されているからです。
シーケンス
シーケンスとは文字列・リスト・タプルのように要素の位置を指定できるオブジェクトの事を言います。
インデックス
インデックスとは整数を使い要素を指定する機能の事を言います。
インデックスを適用すると指定した位置の物を取り出すことができます。
#インデックスの使い方
文字列[インデックス]
また、インデックスの正の数字は0から始まるので注意してください。
そして負の整数のインデックスは最後の文字から始まります。
#インデックスの注意点(整数)
>>>h e l l o
0 1 2 3 4 ←【インデックス(整数)】
#インデックスの注意点②(負の整数)
>>>h e l l o
-5 -4 -3 -2 -1 ←【インデックス(負の整数)】
試しに‘hello’のeを取り出してみます。
#例題
>>>x = 'hello'
>>>print(x[1])
#表示結果
'e'
このように指定した文字列を取り出すことができました。
以下は広告です。
スライス
スライスとは複数の整数を使って要素の範囲を指定する機能のことを言います。
スライスは一部の要素を切り出すことができ、シーケンスに適用することができます。
スライスにはいくつか機能がありますが今回は基本的は使い方について解説します。
要素の範囲を指定するには開始インデックスと終了インデックスを指定して使います。
#スライスの使い方
文字列[開始インデックス:終了インデックス]
またスライスの終了インデックスに対応する要素は取り出せないので注意してください。
最後の値を取り出すには終了インデックスに+1した数字を指定してください。
#スライスの注意点
a p p l e
0 1 2 3 4 ←【eを取り出すには5を指定する】
試しに‘apple.banana’からappleだけを取り出してみます。
#例題①
>>>x = 'apple.banana'
>>>print(x[0:5])
#表示結果
'apple'
このように’apple’だけ取り出すことが出来ます。
次に‘banana’だけを取り出してみます。
#例題②
>>>x = 'apple.banana'
>>>print(x[6:13])
#表示結果
'banana'
このように’banana’だけを取り出すことが出来ます。
以下は広告です。
スライスの省略
ここではスライスの省略の仕方を解説をします。
先頭から終了インデックスまでを指定する方法
まず初めに先頭から終了インデックスまでを指定する方法を解説します。
#先頭から終了インデックスまでを指定する
文字列[:終了インデックス]
試しに‘apple,banana’から’apple’だけを取り出してみます。
#例題
>>>x = 'apple.banana'
>>>print(x[:5])
#表示結果
'apple'
スライスの省略で’apple’だけを取り出すことが出来ました。
開始インデックスから最後までを指定する方法
次に開始インデックスから最後までを指定する方法を解説します。
#開始インデックスから最後までを指定する
文字列[開始インデックス:]
試しに‘apple,banana’から’banana’だけを取り出してみます。
#例題
>>>x = 'apple.banana'
>>>print(x[6:])
#表示結果
'banana'
スライスの省略で’banana’だけを取り出すことが出来ました。
先頭から最後までを指定する方法
最後に先頭から最後までを指定する方法を解説します。
#先頭から最後までを指定する
文字列[:]
試しに‘apple,banana’の全てを取り出してみます。
#例題
>>>x = 'apple.banana'
>>>print(x[:])
#表示結果
'apple.banana'
スライスの省略で全てを取り出すことが出来ました。
以下は広告です。
ストライド
次にストライドについて解説します。
ストライドとは指定した要素を個数ごとに取り出すことができる機能です。
2を指定すれば2文字ごとに文字を取り出します。
#ストライドの使い方
文字列[開始インデックス:終了インデックス:ストライド]
試しに文字列’-a-p-p-l-e-‘から’apple’だけを取り出してみます。
#例題
>>>x = '-a-p-p-l-e-'
>>>print(x[1:12:2])
#表示結果
'apple'
このようにストライドを使えば2文字ずつ取り出すことが出来ます。
メソッド
最後にメソッドについて解説します。
メソッドとはオブジェクトの処理を再利用しやすい形にしたものです。
メソッドは関数と似ていますがオブジェクトを指定して呼び出すことが関数との違いです。
メソッドはいろんな種類がありますが今回は一部のメソッドを紹介します。
#メソッドの使い方
文字列.メソッド名(引数)
upperメソッド
最初はupperメソッドを解説します。
upperメソッドは文字列を大文字にすることができます。
#upperメソッドの使い方
文字列.upeer()
試しに‘python’をすべて大文字にしてみます。
#例題
>>>print('python'.upper())
#表示結果
'PYTHON'
‘python’の全てを大文字にすることが出来ました。
lowerメソッド
次にlowerメソッドの使い方を解説します。
lowerメソッドは文字列を小文字にすることができます。
#lowerメソッドの使い方
文字列.lower()
試しに‘PYTHON’をすべて小文字にしてみます。
#例題
>>>print('PYTHON'.lower())
#表示結果
'python'
‘PYTHON’の全てを小文字にすることが出来ました。
このようにメソッドを使えば色々なことが出来ます。
まとめ
今回は文字列について解説しました。
文字列のインデックス・スライス・メソッドはpythonでは使われることがとても多いです。
ここでしっかりと覚えて置けば今後pythonが使いやすくなると思います。
これで基本的な文法は最後です。
最後まで読んでいただきありがとうございました。