文字列 - Python3

文字列を扱う

ダブルクォートまたはシングルクォートで括って文字を表します。

ターミナルに表示するには、print関数を使います。

print("Hello, World")
print('Hello Python')

# シングルクォートを文字列で使いたい場合
print("I don't know.")
# ダブルクォートを文字列で使いたい場合
print('He said. "I play the piano".')

三重引用符

複数行に渡って文字列を記述したい場合に、三重引用符を使います。

シングルクォートもしくは、ダブルクォートを3つ連続で記述します。

三重引用符を使うと1行目と文字列の末尾に改行が入るため、最初と最後に空行が挿入されます。それを防ぐにはエスケープシーケンスの空行を無視する「\(バックスラッシュ)」を書きます。

fruits = """
apple
orange
banana
"""

print(fruits)

# 結果

apple
orange
banana

fruits = """\
apple
orange
banana\
"""

print(fruits)

# 結果
apple
orange
banana

文字列同士の連結

文字列同士は「+」演算子を用いて結合する事ができます。

print("Hello" + " World")

文字列と数値の結合

Pythonでは、文字列と数値を結合しようとするとエラーになります。そのため、数値は文字列に変換してから結合します。

以下を実行すると、「 TypeError: can only concatenate str (not "int") to str 」になります。

price = 100
print("価格:" + price)

数値を文字列に変換するには、str()を利用します。

price = 100
print("価格:" + str(price))

文字列に format() を使って、値を埋め込む

tax = 8

s = "消費税は、{0}%です".format(tax)
print(s)

次のようにまとめて指定することもできます。

s1 = "口"
s2 = "目"
msg = """\
空いた{0}がふさがらない
{0}がうまい
日の{1}を見る\
""".format(s1, s2)

print(msg)

文字列の分割

s = "2023/01/01"
print(s.split("/"))

# 結果
# ['2023', '01', '01']

文字列の結合

s = ["a", "b", "c"]
print("-".join(s))

# 結果
# a-b-c

文字の置き換え

s = "Hello, Flask"
print(s.replace("Flask", "Django"))

# 結果
# Hello, Django

文字列を大文字・小文字に変換する

s = "PYTHON"
print(s.lower()) # python

s1 = "python"
print(s1.upper()) # PYTHON

数をあらわす文字をしらべる

文字列がすべて数をあらわす文字ならば、全角・半角を問わず True を返します。

print("123".isnumeric()) # True
print("123".isnumeric()) # True
print("aaa".isnumeric()) # False