Pythonの文字列特殊演算子まとめ|連結・繰り返し・スライス・raw文字列の使い方
Pythonの文字列特殊演算子とは
Pythonには、文字列を効率的に操作するための特殊な演算子が複数用意されています。これらを使いこなせるようになると、文字列の連結や繰り返し、部分抽出、検索処理などを簡潔に記述できるようになります。
以下では、文字列変数 a に 'Hello'、変数 b に 'Python' が代入されているものとして、各演算子の動作を具体例とともに解説します。
文字列特殊演算子の一覧表
| No. | 演算子と説明 | 使用例 |
|---|---|---|
| 1 | +(連結) 演算子の左右にある文字列を結合します。 | a + b → 'HelloPython' |
| 2 | *(繰り返し) 同じ文字列を指定回数だけ繰り返した新しい文字列を作成します。 | a * 2 → 'HelloHello' |
| 3 | [ ](スライス) 指定したインデックス位置の1文字を取得します。 | a[1] → 'e' |
| 4 | [ : ](範囲スライス) 指定した範囲内の文字列を取得します。 | a[1:4] → 'ell' |
| 5 | in(メンバーシップ) 指定した文字が文字列内に存在すれば True を返します。 | 'H' in a → True |
| 6 | not in(メンバーシップ) 指定した文字が文字列内に存在しなければ True を返します。 | 'M' not in a → True |
| 7 | r / R(raw文字列) エスケープシーケンスの特別な意味を無効化し、文字をそのまま扱えるようにします。引用符の直前に r(または R)を付けます。 | print(r'\n') → \n がそのまま出力される |
| 8 | %(フォーマット) 文字列の書式設定(フォーマット)を行います。 | 詳細は次のセクションを参照 |
各演算子の補足ポイント
スライス([ ])について:Pythonのインデックスは0から始まるため、a[1] は先頭から2番目の文字 'e' を返します。また、範囲スライス a[1:4] は「開始位置を含み、終了位置を含まない」点に注意が必要です。
raw文字列(r / R)について:Windowsのファイルパスや正規表現など、バックスラッシュ(\)をそのまま扱いたい場面で特に便利です。r は小文字・大文字どちらでも使用でき、必ず最初の引用符の直前に記述します。なお、Python 3では print が関数になったため、print(r'\n') のように括弧を付けて呼び出します。
%演算子について:C言語のprintfスタイルに似た書式指定が可能です。近年ではより柔軟な str.format() メソッドや f文字列(f-string)が推奨されていますが、既存のコードベースでは今も広く利用されています。
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial
-
Pythonの文字列に対する論理演算子(and・or)の挙動と使い方
Pythonでは、論理演算子 and と or を文字列に対しても適用できます。空文字列()はブール値として False と評価されます。まずは、この2つの論理演算子がそれぞれどのような動作をするのかを確認しましょう。 and演算子・or演算子の基本動作 and 演算子は、式の中に偽(falsy)と評価される値があれば最初のその値を返し、すべて真(truthy)であれば最後の値を返します。 一方、or 演算子は、式の中に真(truthy)と評価される値があれば最初のその値を返し、すべて偽(falsy)であれば最後の値を返します。 演算結果 x and yx が偽なら x、そうでなければ