こんにちは、かつコーチです。
Pythonを学び始めると、最初にぶつかるのが「変数」と「データ型」の話です。
「変数って何のために使うの?」
「型を宣言しなくていいって、他の言語と何が違うの?」
この記事では、そんな疑問を初心者向けに一つずつ解消していきます。
読み終える頃には、変数の作り方から代表的なデータ型、そしてtype()での型確認までひと通り扱えるようになります。
変数とは?
データに名前をつける仕組み
変数とは、データを一時的に入れておく箱のようなものです。
数値や文字列などの値に名前をつけて、後から使い回せるようにします。
Pythonでは、次のように書くだけで変数が作れます。
name = "かつコーチ"
age = 30
print(name)
print(age)
実行すると、次のように表示されます。
かつコーチ
30
型宣言が不要な理由
JavaやC言語など多くの言語では、変数を作るときに「これは整数用の箱です」といった型宣言が必要です。
しかしPythonでは、型宣言を書かなくても変数を作れます。
これは、Pythonが値を代入した瞬間に自動で型を判断してくれるためです。
この仕組みを動的型付けと呼びます。
書く量が少なく済むので、初心者でもすぐにコードを書き始められるのがPythonの魅力の一つです。
主要なデータ型を理解する
Pythonには数多くのデータ型がありますが、まずは基本の5つを押さえれば十分です。
整数型(int)
intは、小数点を含まない整数を表す型です。
count = 10
minus_number = -5
浮動小数点型(float)
floatは、小数点を含む数値を表す型です。
price = 1980.5
tax_rate = 0.1
文字列型(str)
strは、文字の連なりを表す型です。
シングルクォートかダブルクォートで囲んで書きます。
message = "Pythonは楽しい"
greeting = 'こんにちは'
真偽値型(bool)
boolは、True(真)かFalse(偽)のどちらかだけを持つ型です。
条件分岐やフラグ管理でよく使います。
is_beginner = True
is_finished = False
None型
Noneは、「値が存在しないこと」を表す特別な型です。
他の言語のnullに近い存在だと考えるとイメージしやすいです。
result = None
type()で型を確認する方法
自分が今扱っている変数がどの型なのか、迷うことがあります。
そんなときはtype()関数を使えば、その場で確認できます。
name = "かつコーチ"
age = 30
price = 1980.5
is_beginner = True
result = None
print(type(name))
print(type(age))
print(type(price))
print(type(is_beginner))
print(type(result))
実行結果は次の通りです。
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'NoneType'>
デバッグ中に「なぜか計算が合わない」と感じたときは、まずtype()で型を確認してみてください。
よくあるつまずきポイント・エラー対処
文字列と数値を結合しようとしてエラーになる
これは筆者自身も初心者の頃に何度もハマった、代表的なつまずきポイントです。
数値と文字列を+で連結しようとすると、以下のエラーが出ます。
❌ Before(エラーになる書き方)
age = 30
print("私は" + age + "歳です")
実行すると、次のエラーメッセージが表示されます。
TypeError: can only concatenate str (not "int") to str
Pythonは文字列と数値を暗黙的には変換してくれないため、このように怒られてしまいます。
✅ After(正しい書き方)
age = 30
print("私は" + str(age) + "歳です")
str()で数値を文字列に変換してから結合すれば、エラーは解消します。
もっとシンプルに書きたい場合は、次のようにf-stringを使う方法もおすすめです。
age = 30
print(f"私は{age}歳です")
f-stringについては、次回の記事で詳しく解説します。
まとめ
この記事のポイント
- 変数はデータに名前をつけて入れておく箱である
- Pythonは型宣言が不要な動的型付け言語である
- 代表的なデータ型はint・float・str・bool・Noneの5つ
- 型が分からないときは
type()で確認できる - 文字列と数値の結合には
str()変換かf-stringが必要
次に読むべき記事
- 文字列操作の基本(f-stringを中心に)
- 数値演算と演算子の基本
- if文・elif・elseで条件分岐
タグ: Python, 初心者向け, 基本文法