(最終更新月:2022年2月)
✔このような方へ向けて書かれた記事となります
「Python 文字列についての基本をマスターしたい!」
「文字列を操作するための方法ってどんなものがあるの?便利なものを知りたい」
「Python初心者なので、実例付きだとありがたいんだけど、、、」
✔当記事を通じてお伝えすること
- Python 文字列とは?定義と記述方法を徹底的に解説
- Python 文字列の操作方法は?メソッド全てを一挙に公開

【Python歴】10年 x 【営業マン歴】11年
HP作成、社内システムの構築、コンサルティング
Pythonベースのフレームワーク 「Django」を使って下記のようなサイトを作っています!
✔初期費用ゼロ/月9,800円でWebデザインが学べる
デザインを習得するためには、客観的なフィードバックと改善が不可欠です。
以下の記事ではこんなWebデザインスクールをご紹介しています。
- 初期費用ゼロで、月々9,800円のみ
- オンラインで、教材が使い放題
- コンテストや実務案件にチャレンジして報酬もGETできる
デザナルはトップデザイナーからレビューがもらえる、格安のWebデザインスクールです。
詳細をまとめた記事もございますので、ぜひご覧ください。
Python 文字列とは?定義と記述方法を徹底的に解説

Python 文字列とは?
“I like python”などというように、文字が連なったデータを「文字列」と言います。
文字にも様々な種類が有りますが、主には、Unicodeの一種である「UTF-8」が使われます。
Unicode(ユニコード)は、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。
参考:https://ja.wikipedia.org/wiki/Unicode
対象のデータが文字列かどうかを確認するためには、typeメソッドを使うと便利です。
>>> type("python")
<class 'str'>
<class ‘str’>と返ってくるものは全て「文字列」型となります。
文字列は一度作成すると、変更できません。(イミュータブル)
ただし、下記で記載している様々な操作方法により、変更を加えた文字列を新たに作り出すことが可能です。
Python 文字列の書き方
文字列の書き方はクォートで囲うのが一般的です。
クォートはシングル( ‘ )、ダブル( ” )のどちらでも構いません。
>>> str_single = 'python'
>>> str_double = "python"
>>> str_single == str_double
True
本来文字列として見なされない文字もバックスラッシュを使うことで文字列と見なされます。
>>> print("python\\nエスケープシーケンス")
python\nエスケープシーケンス
詳しくはこちらもどうぞ → 「エスケープシーケンスとは?使い方を実例付きで紹介」
もしくは、raw文字列(r”文字列”)を使うことでも同様の結果を得ることが可能です。
>>> print(r"python\nraw文字列")
python\nraw文字列
変数に格納した値を文字列に含めたい場合は、format文字列、f文字列が一般的に使われます。
【format文字列】
>>> language = "python"
>>> print("I like {}.".format(language))
I like python.
【f文字列】
>>> language = "python"
>>> print(f"I like {language}")
I like python
f文字列について詳しくはこちらで解説しています → 「f文字列の使い方をわかりやすく解説」
書き方については以上です。
次章でいよいよ操作方法を一挙にご覧頂きます。
Python 文字列の操作方法は?メソッド全てを一挙に公開

操作内容等を一覧にしました。
ターミナルを開いて試しながら進んでみると、より理解も深まります。
操作内容 | コード | 例 | 説明 |
---|---|---|---|
文字列同士の連結 | + | “I like ” + “python” | 足し算の様に使います。 |
リストの要素を連結 | join | “,”.join([“python”, “JavaScript”]) | リストの要素同士を連結し、文字列を作成します。 |
繰り返し | * | “気合だ” * 4 | 指定した回数の繰り返しで文字列を作成します。 |
置換 | replace | “I like to sleep”.replace(“sleep, “study”) | 文字列.replace(元の文字, 置き換える文字) |
取得 | オフセット | “abcd”[2] | オフセットで指定した文字が取得できます。 |
部分取得 | スライス | “abcd”[1:3] | スライスで指定した箇所が取得できます。 |
検索 | find(rfind, lfind) | “python”.find(“t”) | 対象の文字が位置するオフセットが返ります。 |
空白の削除 | strip(rstrip, lstrip) | ” python “.strip() | 前後の余計な空白が削除されます。 |
大文字化 | upper() | “python”.upper() | 大文字に変換します。 |
小文字化 | lower() | “PYTHON”.lower() | 小文字に変換します。 |
含まれているか調べる | in | “py” in “python” | True/Falseが返ります。 |
数える | count | “apple pen”.count(“p”) | 文字列.count(数えたい文字)となります。 |
リストへ変換 | list | list(“python”) | listメソッド以外にも内包表記やforループも使えます。 |
文字列への変換 | str | str(123) | int型、float型、list型、辞書型などから文字列へ変換できます。 |
バイト列から文字列へ | decode | b’\xe3\x83\x96\xe3\x83\xad\xe3\x82\xb0′.decode() | バイト列を文字列に変換します。 |
文字列からバイト列へ | encode | “ブログ”.encode(“utf-8”) | 文字列をバイト列へ変換します。 |
まとめ

当記事の内容をまとめます。
文字列とは、シングルクォート、ダブルクォートで囲われた連続した文字でできたデータのことを言います。
文字列の書き方は、クォートで囲う、もしくは他のデータ方から変換する方法などがあります。
文字列はイミュータブルな(書き換えができない)ため、文字列操作により元になる文字列に変更を加えた新たな文字列を作成することが可能です。
プログラミングでは、数字を扱うことが多い印象ですが、実際には本日ご紹介した「文字列」もたくさん使います。
色々とできることがありますので、当記事の内容を頭に入れた上で先へお進み下さい。
Pythonでホームページが作れるのをご存知でしょうか?
当ブログでは、PythonをベースとしたDjangoフレームワークを使って一からホームページを作成、公開するまでを解説しているブログになります
最終的には、下記リンク先のような日報アプリを開発、公開できるように進めていきます
興味のある方はシリーズの記事が一覧となっている↓のページをご覧ください
