Pythonの文字列が持つ4つの興味深い特徴を徹底解説
Python 3.x(およびそれ以前のバージョン)では、文字列型には他のプログラミング言語には見られない独特な性質や便利な機能が数多く備わっています。本記事では、Pythonの文字列に関する特に知っておくと役立つ4つの重要なポイントを、サンプルコードとともにわかりやすく解説します。
- 不変性(イミュータビリティ)
- エスケープシーケンスの自動検出
- 直接スライシング
- インデックスによるアクセス
1. 不変性(イミュータビリティ)
Pythonにおいて、文字列(str型)は変更不可(イミュータブル)なオブジェクトです。つまり、一度生成された文字列の中身を後から書き換えることはできず、読み取り専用として扱われます。
サンプルコード
inp = 'Tutorials point' print(inp) # 特定のインデックスに新しい値を代入しようとすると… inp[0] = 't' # エラーが発生する print(inp)
実行結果
TypeError: 'str' object does not support item assignment
このように、既存の文字列の一部を変更しようとすると TypeError が発生します。文字列を「変更」したい場合は、新しい文字列オブジェクトを生成して変数に再代入する必要があります。
2. エスケープシーケンスの自動検出
Pythonは、文字列内にバックスラッシュ(\)が含まれていると、それを自動的にエスケープシーケンスとして認識します。たとえば改行を表す \n を使えば、コード中にそのまま記述するだけで改行処理が行われます。
サンプルコード
inp = 'Tutorials point' print(inp + "\n" + "101")
実行結果
Tutorials point 101
\n の部分が自動的に改行として出力されていることが確認できます。このほかにもタブを表す \t など、さまざまなエスケープシーケンスが利用可能です。
3. 直接スライシング
C言語やC++では substr() 関数を使って部分文字列を取得しますが、Pythonではより直感的なスライシングという構文で同じ操作を行えます。
スライシングは [start:end:step] の形式で指定し、引数は以下の通りです。
- 開始インデックス(必須): この位置の文字を含みます
- 終了インデックス(必須): この位置の文字は含まれません
- ステップ(省略可能): 文字を取得する間隔。デフォルト値は1です
サンプルコード
inp = 'Tutorials point' print(inp[0:5])
実行結果
Tutor
インデックス0から4まで(終了位置の5は含まれない)の文字が抽出されました。ステップに負の値を指定すれば、文字列を逆順に取得することもできます。
4. インデックスによるアクセス
Pythonの文字列は内部で要素が連続的に格納されているため、インデックスを指定することで任意の1文字に直接アクセスできます。
サンプルコード
inp = 'Tutorials point' print(inp[0] + inp[1])
実行結果
Tu
このように、個々の文字を取り出して連結するといった操作も簡単に行えます。
まとめ
本記事では、Pythonの文字列に関する以下の4つの重要な特徴を学びました。
- 文字列は不変(イミュータブル)であり、直接書き換えはできない
- バックスラッシュを含む文字列はエスケープシーケンスとして自動認識される
- スライシングを使えば柔軟に部分文字列を抽出できる
- インデックスアクセスにより任意の1文字へ高速にアクセスできる
これらの性質を理解しておくことで、Pythonでの文字列操作がより効率的かつ安全になります。日常的なコーディングにぜひ活用してください。
-
知って驚く!バイオテクノロジーの興味深い事実21選
前回のバイオテクノロジーに関する記事では、バイオテクノロジーとは何か、そしてこれまでの歩みの中で達成されてきたマイルストーンについてご紹介しました。おさらいすると、バイオテクノロジーとは、生物学的な生命体を実用的・産業的に応用する技術を研究する分野です。この技術は主に農業、医療、非食料農業、環境分野で活用されています。 あらゆる技術には、それにまつわる驚きの事実が隠されています。バイオテクノロジーも例外ではありません。思わず目を見開いてしまうような事実の数々を、今回はご紹介します。 バイオテクノロジーの驚きの事実21選 1. バイオテクノロジーには4つの「色」がある 少し奇妙に聞こえるかもしれ
-
知られざるビットコインの驚きの事実9選|サトシ・ナカモトの謎からFBIの保有額まで
ネット上には、技術的な解説から面白い雑学まで、ビットコインに関する記事が数多く存在します。今回は、あまり知られていないビットコインの興味深い事実を9つ厳選してご紹介します。それでは早速、順番に見ていきましょう。 1. 本物のサトシ・ナカモトは誰なのか? 「サトシ・ナカモト」という名前には、今なお厚い秘密のベールがかけられています。このペンネームの裏にいる本当の人物が誰なのか、誰も確かなことを知りません。初期のホワイトペーパーが公開された時間帯、文章のスタイル、書かれたコードの特徴などを分析し、その出自の手がかりを探る調査が続けられてきました。ビットコイン、ひいてはそれを支えるブロックチェーン