Day 1・変数・型・入出力(データの器)
基本の型(str/int/float/bool)と型を意識する理由
文字列・整数・小数・真偽値という4つの基本の型と、その違いを意識する理由を学ぶ。
データには「型(かた)」がある
同じ「箱」に入るデータでも、中身が文字なのか数値なのかで扱いが変わります。この「データの種類」を型と呼びます。まずは4つの基本の型を押さえます。
- str(文字列): 文字の並び。"こんにちは" や "123" のようにクォートで囲む
- int(整数): 小数点のない数。100 や -5 など
- float(浮動小数点数): 小数点のある数。3.14 や 0.5 など
- bool(真偽値): True か False の2つだけ。条件が成り立つかを表す
name = "田中" # str
age = 30 # int
height = 170.5 # float
is_member = True # booltype() で型を確かめられる
ある変数の中身がどの型かは type() という命令で確認できます。困ったときに「今この変数は何型なのか」を調べる基本の道具です。
print(type(30)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("30")) # <class 'str'>
print(type(True)) # <class 'bool'>なぜ型を意識するのか
型が違うと同じ記号でも動きが変わるからです。数値の 1 + 2 は 3 ですが、文字列の "1" + "2" は "12"(連結)になります。見た目が同じ「1」でも、型によって結果が変わることを知らないとバグの原因になります。
文字列同士
クォートで囲むと文字として連結される
print("1" + "2") # 12整数同士
クォートなしなら数値として足し算される
print(1 + 2) # 3型が合わないとエラーになる
文字列と数値をそのまま足そうとすると、Python は「種類が違うので計算できない」とエラーを出します。これは間違いを早めに教えてくれる仕組みでもあります。
print("年齢:" + 30)
# TypeError: can only concatenate str (not "int") to strよくある落とし穴
input() で受け取った値は数値に見えても必ず str(文字列)です。そのまま計算すると意図しない連結やエラーになります。数値として使うときは int() や float() で変換します(次のレッスンで扱います)。
AIにはこう聞く
型に関するエラーが出たら「このTypeErrorの意味と、どの型をどう変換すれば直るか教えて」とエラー文ごと貼って聞きます。AIの提案を試したら、type() で本当に狙った型になったか自分で確認します。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
print("1" + "2") の実行結果はどれですか。
3.14 の型はどれですか。
なぜプログラミングでは「型」を意識する必要があるのか説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。