第2章: Pythonの基本構文とデータ型

他の言語でのプログラミング経験がある方を対象に、Pythonの基本的な文法と組み込みデータ型を解説します。多くの静的型付け言語(Java, C++, C#など)との違いを意識しながら、Pythonの特徴を素早く掴んでいきましょう。特に、動的型付けは重要なコンセプトです。

変数宣言と動的型付け

Pythonの最も大きな特徴の一つは、変数の型を宣言する必要がないことです。変数への代入が、変数の作成と型の決定を同時に行います。

さらに、Pythonは動的型付け言語です。これは、一度作成した変数に、異なる型のデータを再代入できることを意味します。type()関数を使うと、変数が現在どの型を参照しているかを確認できます。

この柔軟性は、静的型付け言語に慣れていると少し奇妙に感じるかもしれませんが、Pythonの簡潔さと書きやすさの源泉となっています。

基本的なデータ型

Pythonには多くの組み込みデータ型がありますが、ここでは最も基本的なものを紹介します。

数値(int, float)

Pythonは整数 (int) と浮動小数点数 (float) を区別します。

四則演算は直感的に行えます。注意点として、除算 (/) は常に float を返します。整数除算を行いたい場合は (//) を使います。

文字列(str)

文字列はシングルクォート (') またはダブルクォート (") で囲んで作成します。

文字列の連結は + 演算子、繰り返しは * 演算子を使います。

変数の値を文字列に埋め込む際には、f-string (フォーマット済み文字列リテラル) が非常に便利で推奨されています。文字列の前に f を付け、埋め込みたい変数を {} で囲みます。

真偽値(bool)

真偽値は TrueFalse の2つの値を持ちます(先頭が大文字であることに注意してください)。論理演算子には and, or, not を使います。

型ヒント(Type Hints)の紹介

動的型付けは柔軟ですが、コードが大規模になると変数がどの型を期待しているのかが分かりにくくなることがあります。そこで導入されたのが型ヒントです。これは、変数や関数の引数、返り値に「期待される型」を注釈として付与する機能です。

変数名: 型 のように記述します。

重要な注意点: 型ヒントはあくまで「ヒント」であり、Pythonの実行エンジンはこれを強制しません。つまり、型ヒントと異なる型の値を代入してもエラーにはなりません。

型ヒントは、コードの可読性を高めたり、MyPyのような静的解析ツールや統合開発環境(IDE)がコードのバグを事前に発見したりするために利用されます。

この章のまとめ

  • Pythonでは変数の型宣言は不要で、値の代入によって型が自動的に決まる(動的型付け)。
    • 基本的なデータ型として数値 (int, float)、文字列 (str)、真偽値 (bool) がある。
    • 文字列に変数を埋め込むには、簡潔で強力な f-string を使うのが一般的。
    • 型ヒント (変数名: 型) は、コードの可読性を向上させるための注釈であり、実行時に型の強制力はない。

練習問題1

item_name という変数に商品名(文字列)、price という変数に価格(整数)、stock という変数に在庫数(整数)をそれぞれ代入してください。その後、f-stringを使って「商品: [商品名], 価格: [価格]円, 在庫: [在庫数]個」という形式の文字列にし、 print() で出力するコードを書いてみましょう。

practice2_1.py
python practice2_1.py

練習問題2

is_adult という変数に bool 型の型ヒントを付けて True を代入し、type() で型を確認してください。その後、同じ変数に数値の 20 を代入し、再度 type() で型を確認してください。この結果から、型ヒントが実行時の動作にどのような影響を与える(あるいは与えない)か考察してみましょう。

practice2_2.py
python practice2_2.py