Pythonのコロン(:)の意味とは?スライス演算子とインデントブロックの使い方を解説
Pythonにおけるコロン(:)は、実は複数の目的で使われる重要な記号です。主な用途は「シーケンスのスライス」と「コードブロック(スイート)の開始」の2つです。それぞれ詳しく見ていきましょう。
シーケンスのスライス演算子として使う
コロンは、リスト、タプル、文字列などのシーケンス型オブジェクトから一部分を切り出す「スライス」として機能します。書式は a[開始インデックス:終了インデックス] の形で、開始位置と終了位置の2つの引数を取ります。両方とも省略可能で、開始インデックスを省略した場合は0(先頭)、終了インデックスを省略した場合はシーケンスの末尾が指定されたものとみなされます。
>>> a = [1, 2, 3, 4, 5] >>> a[1:3] [2, 3] >>> a[:3] [1, 2, 3] >>> a[2:] [3, 4, 5] >>> s = 'computer' >>> s[:3] 'com' >>> s[3:6] 'put'
この例のように、a[1:3] はインデックス1から終了インデックス3の手前(つまりインデックス2)までの要素を取り出します。文字列に対しても同様に動作し、s[:3] なら先頭から3文字分の 'com' が得られます。終了インデックス自体は結果に含まれない点に注意しましょう。
if文やwhile文などでコードブロックを開始する
もう一つの重要な用途として、コロンは if、while、for、def、class といったステートメントの末尾に置かれ、その後に続くインデントされた処理ブロックの開始を示します。Pythonでは他言語のような波括弧 {} を使わずにインデントでブロックを表現するため、このコロンの役割は非常に重要です。
if expr:
stmt
while expr:
stmt1
stmt2
for x in sequence:
stmt1
stmt2
def function1():
stmt1
stmt2
まとめ
Pythonのコロン(:)には、①リストや文字列などのシーケンスをスライスする演算子としての役割、②if や for、def などの制御構造でインデントブロックの開始を示す記号としての役割、という2つの働きがあります。どちらもPythonプログラミングの基本となる構文なので、しっかり理解しておきましょう。
-
Pythonの「print >>」構文とは?ファイルへの出力方法を解説
「print >>」は、Python 2における標準のprintステートメントを拡張するための構文です。この構文を使うと、デフォルトの出力先であるsys.stdout(標準出力)ではなく、任意のファイルライクなオブジェクトに対して直接出力できるようになります。つまり、画面に表示する代わりに、ファイルやその他の出力ストリームへ直接書き込むことが可能になります。基本的な使い方例えば、「my_file」という名前のファイルを開いた場合、次のように書き込むことができます。>>> my_file = open(my_file, w) >>> print &
-
Pythonの「%」演算子とは?文字列フォーマットの基本と使い方を解説
Pythonの「%」演算子の役割 Pythonにおける「%(パーセント)」は、文字列フォーマット演算子(補間演算子)として機能します。「format % values」という形式で記述すると、フォーマット文字列内の変換指定子が、values側の要素によって置き換えられます。この仕組みは、C言語のsprintf()関数とよく似ています。 基本的な使い方:文字列の埋め込み 最もシンプルな例は、文字列の中に変数の値を埋め込むケースです。 >>> lang = Python >>> print %s is awesome! % lang Python is awe