Pythonのstr型の使い方

投稿日: 2024年3月10日

Pythonのstr型(文字列型)は、テキストデータを扱うためのデータ型です。
この型を使用して、文字、単語、文、さらには全文書を格納し、操作することができます。

文字列の基本

Pythonでは、文字列はシングルクォート(’)またはダブルクォート(”)を使用して作成します。
例えば、’こんにちは’や”Python”のように記述します。これらはどちらもPythonにおいて有効な文字列です。

greeting = "こんにちは"
language = 'Python'

長いテキストや改行が含まれる場合、トリプルクォート(”’または”””)を使用すると便利です。

long_string = """これは、
改行を含む
長い文字列です。"""

意外と簡単ですね。

良く使う部分だからね。細かい部分でstr型がかかわるからマスターしよう。

文字列の操作

Pythonのstr型には、文字列を操作するための様々なメソッドがあります。ここでいくつかの基本的な操作を紹介します。

連結 +演算子を使って、2つ以上の文字列を連結することができます。

first_name = "太郎"
last_name = "山田"
full_name = first_name + " " + last_name  # "太郎 山田"

繰り返し *演算子を使用して、文字列を繰り返すことができます。

echo = "はい" * 3  # "はいはいはい"

インデックスアクセス: 文字列内の特定の位置にある文字にアクセスすることができます。

nihongo = "あいうえお"
first_letter = nihongo[0]  # 'あ'
second_letter = nihongo[1]  # 'い'

スライス: 文字列の一部を切り出すことができます。

sub_string = nihongo[1:4]  # 'いうえ'

文字列のメソッド(手法)

Pythonの文字列は、テキストを処理するための多くの便利なメソッドを備えています。ここでは、よく使われるいくつかのメソッドを紹介します。

.upper()、.lower(): 文字列を大文字または小文字に変換します。

mixed_case = "PyThoN"
lower_case = mixed_case.lower()  # "python"
upper_case = mixed_case.upper()  # "PYTHON"

.strip(): 文字列の両端から空白文字を削除します。

padded_string = "  山田 太郎  "
clean_string = padded_string.strip()  # "山田 太郎"

.find(sub): 文字列内で部分文字列が最初に現れる位置を見つけます。見つからない場合は-1を返します。

sentence = "私は宇宙人だ"
index_of_fun = sentence.find("人だ") # 4

.replace(old, new): 文字列内の部分文字列を別の文字列に置き換えます。

sentence = "私は宇宙人だ"
replaced_string = sentence.replace("人だ", "船で来た")  # "私は宇宙船で来た"

.split(sep): 文字列を指定した区切り文字で分割し、リストとして返します。

words = "きのこの山,たけのこの里,すぎのこ村"
word_list = words.split(",")  # ['きのこの山', 'たけのこの里', 'すぎのこ村']

.join(iterable): 指定した文字列を、イテラブル(リストやタプルなど)の各要素の間に挿入して、一つの文字列にします。

word_list = ['きのこの山', 'たけのこの里', 'すぎのこ村']
sentence = "と、".join(word_list)  # "きのこの山と、たけのこの里と、すぎのこ村"

文字列のフォーマット

Pythonでは、文字列内に変数の値を組み込むためにいくつかの方法が提供されています。

f-strings: Python 3.6以降で使用できる、埋め込み式をサポートする文字列フォーマットの方法です。

name = "太郎"
age = 20
greeting = f"こんにちは、{name}さん。あなたは{age}歳です。"

str.format()メソッド: このメソッドを使うと、カーリーブレース({})を使用して文字列内に値を挿入できます。

name = "太郎"
age = 20
greeting = "こんにちは、{}さん。あなたは{}歳です。".format(name, age)

この文字””の前に付くfって何ですか?

これは文字連結させるときに便利なんだ。
例えば名前と年齢を連結させる時

name = "太郎"
age = 20
greeting = "こんにちは、" + name + "さん。あなたは" + str(age) + "歳です。"

このコードをf-strings使って改善します。
f-stringsは、文字列の前にfまたはFを置くことで定義します。そして、波括弧({})を使用して、文字列内に直接変数や式を埋め込むことができます。

name = "太郎"
age = 25
greeting = f"私の名前は{name}です。年齢は{age}歳です。"

コードがスッキリしました!

複雑なコードほどスッキリするよ。

複数行のf-strings

name = "太郎"
hobby = "プログラミング"
multi_line_f_string = f"""
名前: {name}
趣味: {hobby}
"""
print(multi_line_f_string)

この記事では、Pythonのstr型の基本、文字列の操作方法、および便利なメソッドについて紹介しました。
文字列はプログラミングにおいて非常に重要な役割を果たすため、これらの基本を理解することはプログラミングスキルを向上させるのに役立ちます。

記事