Python - 文字列:入門ガイド

こんにちは、未来のPythonの魔法使いたち!? Pythonの文字列の魔法の世界に飛び込む準備ができていますか?コードを一度も書いたことがなくても心配しないでください。ゼロから始めて、一緒に文字列のスキルを築き上げましょう。このチュートリアルの最後には、あなたも最も優れた者たちと並んで文字列を使いこなすことができるようになります!始めましょう!

Python - Strings

Pythonの文字列の作成

Pythonの文字列は本の中の言葉と似ています。テキストを表現するために使う文字の並びです。文字列を作るのはテキストをクォートで囲むだけの簡単なことです。いくつかの例を見てみましょう:

# シングルクォート
my_string = 'こんにちは、世界!'

# ダブルクォート
another_string = "Pythonは素晴らしい!"

# クォートの中にクォートを使うこともできます
mixed_string = "私は'Python'を学んでいます"

これらの例では、変数を作成し、文字列の値を割り当てています。等号(=)は「この変数は今この文字列になりました」と言うようなものです。簡単でしょう?

文字列の中の値のアクセス

文字列をいくつか作成したので、それらの中の特定の文字にアクセスする方法を学びましょう。Pythonでは、インデクシングというものを使ってこれを行うことができます。文字列を箱の一列と考えて、それぞれの箱に一文字が入っています。箱は0から始まります。

my_name = "アリス"
#          01234

print(my_name[0])  # 出力: A
print(my_name[2])  # 出力: i
print(my_name[-1]) # 出力: e (負のインデックスは末尾から始まります)

ここでは、文字列変数の後ろに角括弧[]を使って個別の文字にアクセスしています。まるで特定の箱を開けて中身を見るようなものです!

文字列の更新

興味深い事実ですが、Pythonの文字列は不変です。つまり、文字列を一度作成すると、それに個別の文字を変更することはできません。でも心配しないで!既存の文字列に基づいて新しい文字列を作成することはできます:

greeting = "こんにちは、世界!"
new_greeting = greeting.replace("世界", "Python")
print(new_greeting)  # 出力: こんにちは、Python!

この例では、replace()メソッドを使って"世界"を"Python"に置き換えた新しい文字列を作成しています。まるで文章のコピーを作成して、コピーの中で一語を変更するようなものです。

エスケープ文字

時々、文字列の中に特殊文字を含める必要があります。そんなときにはエスケープ文字が役立ちます。エスケープ文字はバックスラッシュ()で始まります:

print("彼は言いました、\"Pythonは楽しい!\"")  # 出力: 彼は言いました、"Pythonは楽しい!"
print("第一行\n第二行")      # \nは新しい行を作成します
print("タブ\tスペース")                   # \tはタブスペースを作成します

エスケープ文字は、Pythonに特定の文字を特別な方法で扱うように教えるシークレットのコードのようなものです。クールでしょう?

文字列の特殊演算子

Pythonには文字列で使う特殊な演算子がいくつかあります。いくつか見てみましょう:

# 結合(文字列の連結)
first_name = "ジョン"
last_name = "ドーエ"
full_name = first_name + " " + last_name
print(full_name)  # 出力: ジョン ドーエ

# 繰り返し
cheer = "ヒップ " * 2 + "ホーリー!"
print(cheer)  # 出力: ヒップ ヒップ ホーリー!

# 切片
message = "Pythonは素晴らしい"
print(message[7:9])  # 出力: は素
print(message[:6])   # 出力: Python
print(message[10:])  # 出力: 素晴らしい

これらの演算子は魔法の杖のようなもので、わずかな文字で文字列を強力に操作することができます!

文字列フォーマット演算子

文字列フォーマット演算子%は、フォーマットされた文字列を作成するための強力なツールです。異なる値をプラグインするためのテンプレートのようなものです:

name = "アリス"
age = 25
print("私の名前は%sで、%d歳です。" % (name, age))
# 出力: 私の名前はアリスで、25歳です。

ここで、%sは文字列のプレースホルダーで、%dは整数のプレースホルダーです。%演算子は、これらのプレースホルダーに提供された値で埋めます。

Pythonの文字列の中のダブルクォート

既に見たように、文字列を作成するためにシングルクォートまたはダブルクォートを使うことができます。しかし、文字列の中にクォートを含めたい場合はどうでしょう?以下のようにします:

# シングルクォートを使ってダブルクォートを含める
message = '彼は言いました、"Pythonは素晴らしい!"'

# ダブルクォートを使ってシングルクォートを含める
another_message = "それは美しい日だ!"

print(message)
print(another_message)

シングルクォートとダブルクォートを交互に使うことで、Pythonを混乱させずにクォート記号を文字列に含めることができます。

トリプルクォート

トリプルクォートは、複数の行を持つ文字列を作成するためにも、またはシングルクォートとダブルクォートを両方含む文字列を作成するために非常に役立ちます:

long_message = """これは長いメッセージです
複数の行にわたります。
'single'や"double"のクォートを自由に含めることができます。"""

print(long_message)

トリプルクォートは、Pythonに複雑なテキストも受け入れる大きな箱を提供するようなものです!

Pythonの複数行文字列

私たちはすでにトリプルクォートが複数行の文字列を作成することができることを見ました。以下も別の例です:

poem = '''
薔薇は赤い,
スイセンは青い,
Pythonは素晴らしい,
あなたもそうです!
'''

print(poem)

これは、コードの中に大きなテキストブロックを含めるために素晴らしいです。

文字列と算術演算子

従来の意味では文字列同士で数学的な計算を行うことはできませんが、Pythonは文字列に対して興味深い方法で算術演算子を使うことを許しています:

# 加算(結合)
greeting = "こんにちは" + " " + "世界"
print(greeting)  # 出力: こんにちは 世界

# 乗算(繰り返し)
echo = "エコー " * 3
print(echo)  # 出力: エコー エコー エコー

ただし、文字列同士を引き算したり割ったりすることはできません。それは愚かなことです!

Pythonの文字列の型の取得

時々、どのようなデータを扱っているかを確認するのに役立ちます。type()関数を使うことができます:

my_string = "こんにちは、世界!"
print(type(my_string))  # 出力: <class 'str'>

これは、変数が実際に文字列(str)であることを確認します。

内蔵の文字列メソッド

Pythonには文字列を扱うためのツールボックスに満ちた内蔵メソッドがたくさんあります。以下は最も便利なもののいくつかです:

メソッド 説明
upper() 文字列を大文字に変換 "hello".upper()"HELLO"
lower() 文字列を小文字に変換 "WORLD".lower()"world"
strip() 先頭と末尾の空白を削除 " hi ".strip()"hi"
replace() 一つの部分文字列を別の部分文字列に置き換え "Hello".replace("H", "J")"Jello"
split() 文字列をリストに分割 "a,b,c".split(",")["a", "b", "c"]
join() 可変長引数の要素を文字列で結合 ",".join(["a", "b", "c"])"a,b,c"

これらのメソッドは、文字列を異なる方法で操作するための異なるツールです!

文字列に対する内蔵関数

最後に、文字列と一緒に使うのに便利なPythonの内蔵関数をいくつか見てみましょう:

# len() - 文字列の長さを返す
print(len("Python"))  # 出力: 6

# str() - 他のデータ型を文字列に変換
number = 42
print("答えは" + str(number))  # 出力: 答えは42

# ord() - 文字のUnicodeコードポイントを返す
print(ord('A'))  # 出力: 65

# chr() - Unicodeコードポイントの文字を返す
print(chr(65))  # 出力: A

これらの関数は、さまざまな状況で助けになるスイスアーミーナイフのようなツールです。

そして、それで全てです、私の若いPythonistaたち!私たちはPythonの文字列の土地を旅し、作成から操作に至るまでを学びました。練習は成功の道なので、これらの概念に対して実験することを恐れずにしましょう。知らないうちに、あなたもプロのようにPythonコードを組み立てることができるようになります!幸せなコーディング!??

Credits: Image by storyset