【ITニュース解説】python: printing, variables and data types
2025年09月11日に「Dev.to」が公開したITニュース「python: printing, variables and data types」について初心者にもわかりやすく解説しています。
ITニュース概要
Pythonの基礎として、`print()`関数の多様な使い方、変数の命名規則と代入、そして数値、文字列、リスト、辞書などの主要なデータ型について解説する。`print()`は書式設定やデバッグにも活用できる。
ITニュース解説
Pythonを学び始める際、まず最初に触れるのがprint()関数だ。これは、プログラムが処理した結果やメッセージを画面に表示するための非常に基本的な機能であり、プログラミングの世界への第一歩と言える。単に文字を表示するだけでなく、変数に格納された文字列や、計算によって得られた数値、さらには複雑なデータ構造まで、あらゆる情報を目に見える形にするために使われる。
例えば、単純な文字列「Hello, Python!」を表示させることから始まり、文字列と文字列を+記号で結合(連結)して「Hello」と「Python」を一つにまとめることもできる。さらに、f-stringや.format()メソッドといった機能を使えば、文字列の中に変数の値を埋め込んだり、特定の形式に整えたりすることが可能になり、より柔軟で読みやすい出力を生成できる。これにより、「今日の気温は25度です」といった動的なメッセージを簡単に作成できるのだ。
また、print()関数は単なる文字列の表示に留まらない。改行を示す\nやタブを挿入する\tのようなエスケープシーケンスを使うことで、出力のレイアウトを細かく制御できる。もし、エスケープシーケンスを文字として扱いたい場合は、文字列の前にrを付けて「生文字列(raw string)」として扱うことで、特殊な意味を持たせずにそのまま出力できる。数字を直接表示したり、足し算、引き算、掛け算、割り算、累乗といった計算式の結果を表示させたりすることも可能だ。
さらに進んで、複数の要素をまとめた「リスト」や、キーと値のペアで情報を管理する「辞書」といった複雑なデータ構造もprint()で表示できる。この際、print()関数にはsep(セパレーター)とend(エンド)という便利な引数がある。sepを使えば、複数の引数を表示する際に間に挟む区切り文字をカスタマイズでき、endを使えば、出力の最後に何を表示するか(デフォルトでは改行)を変更できるため、一行に複数の情報を並べたり、特定の文字で出力を終えたりと、表示方法の自由度が格段に上がる。
繰り返し処理であるループの中でprint()を使うことで、一連のデータを順番に表示したり、range()関数と組み合わせて指定した範囲の数値を順番に出力したりすることも頻繁に行われる。文字列を数値で乗算すると、その文字列を指定された回数だけ繰り返して表示するユニークな機能もある。異なるデータ型、例えば文字列と数値を一緒に表示したい場合には、型変換(キャスティング)が必要になることがある。これは、数値を文字列に変換してから結合するといった手順を踏むことで実現できる。そして、プログラムが意図した通りに動かない時に、途中の変数の値や処理の流れを確認するためにprint()関数を一時的に挿入することは、デバッグ作業において非常に有効な手段となる。
プログラムは、様々なデータを処理して動くが、そのデータを一時的に記憶しておく場所が「変数」だ。変数には、プログラマが分かりやすい名前を付けることができ、例えばageという変数に25という年齢の数値を代入するといった形で使われる。変数の名前には、英字やアンダースコアを使うことができ、数字から始めることはできないといったルールがある。また、ifやwhileのようにPython自体が特別な意味を持つ「予約語」を名前に使うことも禁止されている。大文字と小文字は区別されるため、nameとNameは別の変数として扱われる。
変数には一度に複数の値を代入したり、x, y, z = 1, 2, 3のように複数の変数を一度に定義したりもできる。これは「複数代入」と呼ばれ、特にリストやタプルなどのシーケンスから複数の値を取り出して個々の変数に割り当てる「シーケンスのアンパック」の際に便利だ。変数の値はプログラムの実行中に動的に変更できるため、計算結果を更新したり、ユーザーからの入力を受け取って値を上書きしたりと、プログラムに柔軟性をもたらす。慣習として、プログラムの実行中に値が変わらないことを示す「定数」は、変数名をすべて大文字で表記することが多いが、Pythonにおいては他の言語のように変更を厳密に禁止する機能は存在せず、あくまでプログラマが変更しないという意思を示すためのものとなる。
Pythonには、扱うデータの種類に応じて様々な「データ型」が用意されている。それぞれのデータ型には特有の振る舞いや機能があり、これらを理解することが効率的なプログラミングの鍵となる。
まず基本的なデータ型として、「数値(numbers)」がある。これは整数(int)や浮動小数点数(float、小数点以下の値を持つ数)などだ。次に、「文字列(string)」があり、これは文字の並びであり、名前や住所などのテキスト情報を扱う際に使われる。シングルクォーテーション('...')またはダブルクォーテーション("...")で囲んで表現する。
「ブール値(boolean)」は、真(True)か偽(False)のどちらか一方の値を取るデータ型で、条件分岐や繰り返し処理において、プログラムの制御フローを決定する際に非常に重要となる。「None」は、値が存在しないこと、または何もないことを明示的に示す特別な値だ。
さらに、複数のデータをまとめて扱うための「コレクション型」も豊富に存在する。「リスト(List)」は、複数の要素を順序付けて格納できるデータ型で、作成後も要素の追加、削除、変更が可能(ミュータブル)だ。角括弧([...])を使って表現する。一方、「タプル(Tuple)」もリストと同様に要素を順序付けて格納できるが、一度作成するとその要素を変更できない(イミュータブル)という特性を持つ。丸括弧((...))で表現される。
「辞書(Dictionary)」は、キーと値のペアでデータを管理するデータ型で、キーを使って対応する値を素早く検索できる。順序は保証されないが、効率的なデータアクセスに適している。波括弧({})とコロン(:)を使って{キー: 値, ...}のように表現する。「セット(Set)」は、順序を持たないが、重複しないユニークな要素のみを格納するデータ型だ。要素の追加や削除はできるが、特定の位置にある要素を取り出すことはできない。集合演算(和集合、積集合など)によく用いられる。波括弧({...})で表現する。そして、「フローズンセット(Frozenset)」は、セットと同じく重複しないユニークな要素を格納するが、タプルと同様に一度作成すると変更できない(イミュータブル)という特徴を持つ。
このように、print()関数による出力の基本から、データを格納する変数、そしてPythonが提供する多種多様なデータ型を理解することは、システムエンジニアとしてPythonプログラミングを学ぶ上で不可欠な基礎となる。これらの要素をマスターすることで、より複雑なプログラムを構築し、効率的にデータを処理する能力が身についていくのだ。