Pythonにおける文字列の扱い方


ccc

こんにちわ!東京都内でサラリーマンをしているAI・育児ブロガーのCCCです。 AI(人工知能)と子育てに関する記事を執筆しています。 WebシステムをベースとしたAIを活用することで生活をより便利にする方法を紹介し、育児について衣食住における役立つグッズや情報を配信しています。


Pythonにおける文字列の扱い方を教えてください。


ccc

Pythonはオフサイドルールに基づいたオブジェクト指向型のスクリプト言語です。オフサイドルールとは処理のまとまりをブロックごとに字下げをして文の範囲を指定するコーディングルールで、字下げのルールを強制することで可読性が高まり、コードの記述量を少なくできます。数値計算や画像処理、Web開発、ネットワーク、データベースといった専門的なライブラリが豊富で、機械学習やAIの分野で活用されています。


ccc

今回はPythonの使い方として、Pythonにおける文字列の扱い方をサンプルを用いて解説します。

文字列の記述方法

プログラムで文字列を記述するとき、ダブルクォーテーション(“)またはシングルクォーテーション(‘)で囲います。

temp="test"
print(temp)

エスケープシーケンス

文字列で改行など特殊文字を記述するときはエスケープシーケンスを使います。

エスケープシーケンスは次のような種類があります。

  • \’ シングルクォート
  • \” ダブルクォート
  • \n 改行

文字列を連結

文字列を連結するときは+演算子を使います。

temp="test"+"test"
print(temp)
#testtest

数値を文字列に変換

str()は数値を文字列に変換するメソッドです。

temp="test"+str(3)
print(temp)
#test3

文字列を指定した数だけ繰り返す

文字列を指定した数だけ繰り返すときは*演算子を使います。

temp="test"*3
print(temp)
#testtesttest

文字列の長さを取得

len()は文字列の長さを取得するメソッドです。

temp=len("test")
print(temp)
#4

文字列で指定したインデックスの文字を取得

文字列で指定したインデックスの文字を取得するときは配列を使います。

temp="東京都"
print(temp[2])
#都

文字列の部分文字列を取得

スライスを使って文字列の部分文字列を取得できます。スライスは”変数[開始index:終了index]”の形式で記述します。

temp="東京都"
print(temp[1:3])
#京都

開始インデックスまたは終了インデックスを省略

スライスは開始インデックスまたは終了インデックスを省略できます。

temp="東京都"
print(temp[1:])
#京都

文字列の書式設定

文字列の書式を設定するにはフォーマット文字列を使います。フォーマット文字列はダブルクォートの先頭に”f”をつけます。書式は”{値:書式}”の形式で記述します。

name="岡本太郎"
print(f"名前は{name:}です")

書式の表記を指定

書式の表記は次のような種類があります。

temp=123
print(f"10進数表記={temp:d}")
#123

temp=3.14
print(f"固定小数点表記={temp:f}")
#3.140000

temp="test"
print(f"固定小数点表記={temp:s}")
#test

書式の前に桁数を指定できます。

temp=123
print(f"10進数表記={temp:05d}")
#00123

小数部の桁数も指定できます。

temp=#3.14159
print(f"固定小数点表記={temp:.2f}")
#3.14

数値の区切り文字(,)も指定できます。

temp=123456789
print(f"10進数表記={temp:,d}")
#123,456,789

大文字または小文字に変換

upper()は大文字に、lower()は小文字に変換するメソッドです。
capitalize()は先頭文字を大文字にして残りを小文字に変換するメソッドです。

print("test".upper())
#TEST

print("TEST".lower())
#"test"

print("hello world".title())
#"Hello World"

指定した文字列のインデックスを取得

find()は指定した文字列のインデックスを取得するメソッドです。文字列が見つからなかったときは-1を返します。

print("abcdefghijklmn".find("def"))
#3

指定した区切り文字で分割して配列で取得

split()は指定した区切り文字で分割して配列で取得するメソッドです。

print("apple, lemon, orange".split(","))
#['apple', ' lemon', ' orange']

文字列の先頭と末尾から指定した文字を取り除く

strip()は文字列の先頭と末尾から指定した文字列を取り除くメソッドです。引数を省略したときは空白を取り除きます。

print("abcda".strip("a"))
#bcd

文字列の先頭から指定した文字を取り除く

lstrip()は文字列の先頭から指定した文字を取り除くメソッドです。引数を省略したときは空白を取り除きます。

print("abcda".lstrip("a"))
#bcda

文字列の末尾から指定した文字を取り除く

rstrip()は文字列の末尾から指定した文字を取り除くメソッドです。引数を省略したときは空白を取り除きます。

print("abcda".rstrip("a"))
#abcd

指定した文字列を別の文字列に置き換える

print("20201201".replace("2020", "2021"))
#20211201