- Day 2:変数とデータ型 ― 「値に名前をつけて、コンピュータと会話できるようになる」
- 変数 ― 「値にラベルを貼って、あとから何度でも使えるようにする」
- 文字列 ― 「文字の並びを扱うためのデータ型」
- 整数 ― 「小数点のない数値を扱うためのデータ型」
- 小数 ― 「小数点を含む数値を扱うためのデータ型」
- 真偽値 ― 「True / False で条件を表すためのデータ型」
- type() ― 「この変数のデータ型は何か」を確認するための関数
- 変数の命名規則 ― 「意味が伝わる名前を、ルールに沿ってつける」
- Day 2のまとめと次へのつながり
- Day 2:変数とデータ型で「自己紹介プログラム」を作る
- 変数とは何かを「自己紹介」でイメージする
- データ型の基本:文字列・整数・小数・真偽値
- type() で「変数の型」を確認する
- 変数の命名規則と「読みやすさ」の大事さ
- 自己紹介プログラムの基本形を作る
- ユーザー入力を使った「インタラクティブ自己紹介」
- Day 2(制作編)のまとめ
Day 2:変数とデータ型 ― 「値に名前をつけて、コンピュータと会話できるようになる」
Day 2では、「変数」と「データ型」という、プログラミングの超基本を扱います。 ここをしっかり押さえておくと、後の条件分岐やループ、関数、クラスなどが一気に理解しやすくなります。 変数は「値に名前をつける仕組み」、データ型は「その値がどんな種類なのかを表すラベル」だと思ってください。
変数 ― 「値にラベルを貼って、あとから何度でも使えるようにする」
変数とは、「値に名前をつけて、あとからその名前で参照できるようにする仕組み」です。 Pythonでは、次のように書きます。
# 変数の基本的な使い方
name = "Python" # 変数nameに文字列"Python"を入れる
age = 30 # 変数ageに整数30を入れる
# 変数を使ってメッセージを表示する
print("名前:", name) # nameの中身を表示
print("年齢:", age) # ageの中身を表示
Pythonここで重要なのは、「= はイコールではなく『代入』」だということです。 数学の「左辺と右辺が等しい」という意味ではなく、「右側の値を左側の変数に入れる」という意味になります。
例えば、次のようなコードを見てください。
x = 10 # xに10を入れる
y = x + 5 # yにx+5の結果(15)を入れる
print(x) # 10が表示される
print(y) # 15が表示される
Pythony = x + 5 の時点で、Pythonは「今の x の値(10)を使って計算し、その結果(15)を y に入れる」という処理をしています。 このように、変数は「一度入れた値を、あとから何度でも使えるようにするための箱」と考えると分かりやすいです。
文字列 ― 「文字の並びを扱うためのデータ型」
文字列(string)は、「文字の並び」を表すデータ型です。 Pythonでは、文字列は " " または ' ' で囲んで表現します。
# 文字列の基本
greeting = "こんにちは" # 日本語の文字列
language = "Python" # 英語の文字列
sentence = "Pythonは楽しいです" # 文としての文字列
print(greeting) # こんにちは
print(language) # Python
print(sentence) # Pythonは楽しいです
Python文字列は、結合したり、部分的に取り出したり、長さを調べたりできます。 まずは「結合」の例を見てみます。
# 文字列の結合
first_name = "Taro" # 名前
last_name = "Yamada" # 苗字
# + を使って文字列をつなげる
full_name = last_name + " " + first_name
print(full_name) # Yamada Taro と表示される
Pythonここで、+ は「足し算」ではなく「文字列の結合」として働いています。 文字列同士をつなげるときに使う記号だと覚えておくと良いです。
セキュリティの観点では、文字列は「ユーザー入力」や「ログメッセージ」を扱うときに非常に重要です。 後々、「危険な文字列をどう扱うか」「ログに何を残すか」といった話につながっていきます。
整数 ― 「小数点のない数値を扱うためのデータ型」
整数(int)は、「小数点のない数値」を表すデータ型です。 Pythonでは、単に数字を書くだけで整数として扱われます。
# 整数の基本
age = 20 # 年齢(整数)
year = 2024 # 年(整数)
count = 5 # 回数(整数)
print(age) # 20
print(year) # 2024
print(count) # 5
Python整数は、四則演算(足し算、引き算、掛け算、割り算)に使えます。
# 整数の計算
a = 10
b = 3
print(a + b) # 足し算 → 13
print(a - b) # 引き算 → 7
print(a * b) # 掛け算 → 30
print(a / b) # 割り算 → 3.333...(結果は小数になる)
print(a // b) # 整数の割り算(切り捨て) → 3
print(a % b) # 剰余(割ったときの余り) → 1
Pythonここで、/ は「普通の割り算」で結果が小数になります。 // は「整数の割り算」で、小数点以下を切り捨てます。 % は「余り」を求める演算で、例えば「偶数か奇数か」を判定するときに使います。
# 偶数か奇数かを判定する例
number = 7 # 判定したい数
# 2で割った余りが0なら偶数、1なら奇数
if number % 2 == 0:
print("偶数です")
else:
print("奇数です")
Python整数は、カウンタ(回数を数える)、インデックス(位置を表す)、ID(識別子)など、あらゆる場面で使われます。 セキュリティの世界でも、「試行回数」「失敗回数」「ログイン試行の制限」などを整数で管理することが多いです。
小数 ― 「小数点を含む数値を扱うためのデータ型」
小数(float)は、「小数点を含む数値」を表すデータ型です。 Pythonでは、数字に小数点を含めると自動的に float として扱われます。
# 小数の基本
price = 199.99 # 価格(小数)
tax_rate = 0.1 # 税率(10%)
temperature = 36.5 # 体温(小数)
print(price) # 199.99
print(tax_rate) # 0.1
print(temperature) # 36.5
Python小数は、金額計算や割合、測定値などを扱うときに使います。 ただし、コンピュータ内部では小数の表現に誤差が出ることがあるため、金額計算などでは注意が必要です。
# 小数の計算例
price = 100.0 # 元の価格
tax_rate = 0.1 # 税率10%
tax = price * tax_rate # 税額を計算
total = price + tax # 合計金額を計算
print("税額:", tax) # 10.0
print("合計:", total) # 110.0
Pythonこの程度の計算では問題ありませんが、より厳密な金額計算が必要な場合は decimal モジュールを使うこともあります。 Day 2では、「小数は float 型で扱う」という基本だけ押さえておけば十分です。
真偽値 ― 「True / False で条件を表すためのデータ型」
真偽値(bool)は、「真(True)か偽(False)か」を表すデータ型です。 Pythonでは、True と False が真偽値として用意されています。
# 真偽値の基本
is_active = True # 有効かどうか
is_admin = False # 管理者かどうか
print(is_active) # True
print(is_admin) # False
Python真偽値は、条件分岐(if文)と組み合わせて使うことが多いです。
# ログイン状態に応じてメッセージを変える例
is_logged_in = True # ログインしているかどうか
if is_logged_in:
print("ログイン済みです")
else:
print("ログインしていません")
Pythonまた、比較演算の結果も真偽値になります。
# 比較演算の結果はTrueかFalseになる
a = 10
b = 20
print(a < b) # 10 < 20 → True
print(a > b) # 10 > 20 → False
print(a == b) # 10 == 20 → False
print(a != b) # 10 != 20 → True
Pythonセキュリティの観点では、「このユーザーは認証済みか」「この操作は許可されているか」「この入力は安全か」といった判定を、真偽値で表現します。 真偽値は、「条件をコードで表すための言葉」だと思ってください。
type() ― 「この変数のデータ型は何か」を確認するための関数
type() は、「その値がどのデータ型なのか」を教えてくれる関数です。 初心者にとっては、「今自分が扱っているものが何なのか」を確認するための強力なツールになります。
# type()でデータ型を確認する例
name = "Python" # 文字列
age = 30 # 整数
height = 1.75 # 小数
is_student = True # 真偽値
print(type(name)) # <class 'str'> 文字列型
print(type(age)) # <class 'int'> 整数型
print(type(height)) # <class 'float'> 小数型
print(type(is_student)) # <class 'bool'> 真偽値型
Pythontype() の結果は、<class 'str'> のように表示されます。 ここで 'str' は文字列型、'int' は整数型、'float' は小数型、'bool' は真偽値型を表しています。
例えば、次のような場面で役に立ちます。
# ユーザー入力を受け取ったときに、型を確認する例
value = input("何か入力してください: ") # input()は常に文字列を返す
print("入力された値:", value)
print("データ型:", type(value)) # <class 'str'> と表示される
Pythonここで、「input() は常に文字列を返す」ということが分かります。 数値として扱いたい場合は、int() や float() で変換する必要があります。
# 文字列を整数に変換する例
value = input("年齢を入力してください: ") # 例: "20"
age = int(value) # 文字列を整数に変換
print("年齢:", age)
print("データ型:", type(age)) # <class 'int'> と表示される
Pythontype() は、「今扱っているものが何なのか」を確認するための安全装置です。 特に、外部からの入力やAPIのレスポンスなどを扱うときに、型を確認しておくことはセキュリティ的にも重要です。
変数の命名規則 ― 「意味が伝わる名前を、ルールに沿ってつける」
変数の名前(変数名)は、「その変数が何を表しているか」を示す重要な情報です。 Pythonにはいくつかの命名規則がありますが、初心者向けに押さえておきたいポイントは次の通りです。
英数字とアンダースコア(_)が使える 先頭に数字は使えない(1name はNG、name1 はOK) 大文字と小文字は区別される(name と Name は別物) 予約語(if, for, while, class など)は使えない
具体例を見てみましょう。
# 良い変数名の例
user_name = "Taro" # ユーザー名
user_age = 20 # ユーザーの年齢
is_admin = False # 管理者かどうか
max_retry_count = 3 # 最大リトライ回数
# 悪い変数名の例(意味が分かりにくい)
a = "Taro" # 何を表しているか分からない
b = 20 # 何の20なのか分からない
flag = True # 何のフラグなのか分からない
Python良い変数名は、「その変数が何を表しているか」が一目で分かります。 悪い変数名は、「コードを書いた本人しか分からない」状態になりがちです。
セキュリティの観点でも、変数名は重要です。 例えば、
is_authenticated = True # 認証済みかどうか
has_permission = False # 権限があるかどうか
failed_login_count = 2 # 失敗したログイン回数
Pythonのように、「何を判定しているのか」「何を数えているのか」が分かる名前をつけておくと、 後から「この条件は本当に正しいか」「この制限は十分か」を検証しやすくなります。
Day 2のまとめと次へのつながり
Day 2では、
変数とは何か 文字列(str) 整数(int) 小数(float) 真偽値(bool) type() で型を確認する方法 変数の命名規則
を学びました。
ここまで理解できると、「値に名前をつけて、種類を意識しながら扱う」という、プログラミングの基礎がかなり固まります。 次のステップでは、これらのデータ型を使って「条件分岐(if)」や「繰り返し(for / while)」を組み立てていきます。
Day 2で特に重要なのは、「変数は値の箱」「データ型はその箱の中身の種類」「type() で中身の種類を確認できる」という3点です。 この感覚が身につくと、エラーが出たときにも「型が違うのでは?」と冷静に考えられるようになり、セキュリティ的にも安全なコードを書きやすくなっていきます。
Day 2:変数とデータ型で「自己紹介プログラム」を作る
Day 2では、「自己紹介プログラム」を題材にして、変数と基本的なデータ型を体験していきます。 名前・年齢・身長・プログラミング経験の有無などを変数に入れながら、文字列・整数・小数・真偽値、そして type() の意味を、 実際のコードと一緒に理解していく流れで説明します。
変数とは何かを「自己紹介」でイメージする
まず、「変数とは何か」を自己紹介に結びつけて考えます。
- 名前
- 年齢
- 身長
- プログラミング経験があるかどうか
これらは、どれも「値」です。 Pythonでは、こうした値を「変数」という箱に入れて扱います。
# 自己紹介に使う変数を定義します
name = "太郎" # 文字列(str)
age = 25 # 整数(int)
height = 170.5 # 小数(float)
is_programmer = True # 真偽値(bool)
print(name)
print(age)
print(height)
print(is_programmer)
Pythonここでのポイントは、
name・age・height・is_programmerが「変数名」"太郎"・25・170.5・Trueが「変数に入っている値」- 変数は「あとから中身を変えられるラベル付きの箱」のようなもの
というイメージです。
データ型の基本:文字列・整数・小数・真偽値
Pythonにはさまざまなデータ型がありますが、 自己紹介プログラムでは、まず次の4つを押さえると十分です。
文字列(str)
文字列は「テキスト」を表すデータ型です。
name = "太郎" # ダブルクォーテーション
nickname = 'タロ' # シングルクォーテーションでもOK
print(name)
print(nickname)
Python自己紹介では、「名前」「出身地」「趣味」などを文字列で表現します。
整数(int)
整数は「小数点を含まない数」を表すデータ型です。
age = 25 # 年齢
year = 2026 # 年
print(age)
print(year)
Python年齢や年数、回数など、「数えられるもの」を整数で表現します。
小数(float)
小数は「小数点を含む数」を表すデータ型です。
height = 170.5 # 身長(cm)
weight = 65.2 # 体重(kg)
print(height)
print(weight)
Python身長や体重、割合など、「細かい値」を表現するときに使います。
真偽値(bool)
真偽値は「True(真)」か「False(偽)」のどちらかだけを取るデータ型です。
is_programmer = True # プログラミング経験がある
likes_python = False # Pythonが好きかどうか(例)
print(is_programmer)
print(likes_python)
Python自己紹介では、「プログラミング経験があるか」「学生かどうか」「運転免許を持っているか」などを真偽値で表現できます。
type() で「変数の型」を確認する
type() は、「その値がどんなデータ型か」を教えてくれる関数です。 初心者の方にとっては、「今扱っているものが文字列なのか数値なのか」を確認するのにとても役立ちます。
name = "太郎"
age = 25
height = 170.5
is_programmer = True
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
print(type(is_programmer))# <class 'bool'>
Python自己紹介プログラムを作るときにも、「この変数は文字列だったかな?」「これは数値かな?」と迷ったら、 type() で確認する癖をつけておくと安心です。
変数の命名規則と「読みやすさ」の大事さ
変数名には、いくつかのルールとおすすめの書き方があります。
基本ルール
- 英字(a〜z、A〜Z)、数字(0〜9)、アンダースコア(
_)が使えます - 先頭に数字は使えません(
1nameはNG) - スペースは使えません(
user nameはNG) - 記号(
@、-、!など)は使えません
user_name = "太郎" # OK
user1 = "花子" # OK
_name = "匿名" # OK(先頭のアンダースコアは特別な意味を持つこともあります)
# 1user = "NG" # NG(先頭が数字)
# user-name = "NG" # NG(ハイフンは使えない)
# user name = "NG" # NG(スペースは使えない)
Python読みやすい命名のコツ(自己紹介編)
自己紹介プログラムでは、次のような名前にすると読みやすくなります。
name = "太郎" # 名前
age = 25 # 年齢
height_cm = 170.5 # 身長(cm)
is_student = False # 学生かどうか
favorite_language = "Python" # 好きなプログラミング言語
Python- 意味が分かる名前にする(
xやyではなく、ageやheight_cm) - 単語をつなぐときはアンダースコアで区切る(
favorite_language) - 単位を含めるときは名前に入れておくと親切(
height_cm)
変数名は、「自分だけでなく他の人が読んだときにも意味が分かるようにする」ことが大事です。 セキュリティの観点でも、「何を表しているか分からない変数」はバグや誤解の原因になりやすいので、 意味のある名前をつける習慣はとても重要です。
自己紹介プログラムの基本形を作る
ここまでの内容を使って、シンプルな自己紹介プログラムを書いてみます。
# 自己紹介プログラム(基本版)
# 変数に自分の情報を入れます
name = "太郎" # 名前(文字列)
age = 25 # 年齢(整数)
height_cm = 170.5 # 身長(小数)
is_student = False # 学生かどうか(真偽値)
favorite_language = "Python" # 好きなプログラミング言語(文字列)
# type()でデータ型を確認してみます
print("各変数のデータ型:")
print("name:", type(name))
print("age:", type(age))
print("height_cm:", type(height_cm))
print("is_student:", type(is_student))
print("favorite_language:", type(favorite_language))
print("-" * 20)
# 自己紹介メッセージを表示します(f文字列を使うと読みやすいです)
print(f"こんにちは、{name}です。")
print(f"年齢は{age}歳、身長は{height_cm}cmです。")
print(f"学生かどうか: {is_student}")
print(f"好きなプログラミング言語は{favorite_language}です。")
Pythonこのプログラムでは、
- 変数に自分の情報を入れる
type()でデータ型を確認する- f文字列で自己紹介メッセージを表示する
という流れを体験できます。
ユーザー入力を使った「インタラクティブ自己紹介」
次に、ユーザー自身に入力してもらう形の自己紹介プログラムにしてみます。 ここでは、文字列として入力された値を、必要に応じて整数や小数に変換します。
# ユーザー入力を使った自己紹介プログラム
# ユーザーに情報を入力してもらいます
name = input("あなたの名前を入力してください: ")
age_text = input("あなたの年齢を入力してください(数字): ")
height_text = input("あなたの身長を入力してください(cm、数字): ")
is_student_text = input("あなたは学生ですか? (y/n): ")
favorite_language = input("好きなプログラミング言語を入力してください: ")
# 年齢と身長は数値に変換します
# 入力チェックを簡単に入れておくと安全です
if age_text.isdigit():
age = int(age_text) # 整数に変換
else:
age = None
print("年齢は数字で入力されませんでした。")
try:
height_cm = float(height_text) # 小数に変換
except ValueError:
height_cm = None
print("身長は数値として解釈できませんでした。")
# 学生かどうかを真偽値に変換します
is_student = (is_student_text.lower() == "y")
# type()で確認してみます
print("-" * 20)
print("各変数のデータ型:")
print("name:", type(name))
print("age:", type(age))
print("height_cm:", type(height_cm))
print("is_student:", type(is_student))
print("favorite_language:", type(favorite_language))
print("-" * 20)
# 自己紹介メッセージを表示します
print("自己紹介:")
print(f"こんにちは、{name}さん。")
if age is not None:
print(f"年齢は{age}歳ですね。")
else:
print("年齢は不明です。")
if height_cm is not None:
print(f"身長は{height_cm}cmですね。")
else:
print("身長は不明です。")
print(f"学生かどうか: {is_student}")
print(f"好きなプログラミング言語は{favorite_language}ですね。")
Pythonこのプログラムでは、
input()でユーザーから文字列として情報を受け取るint()やfloat()で数値に変換するis_student_text.lower() == "y"で真偽値に変換するtype()でデータ型を確認する- 変換に失敗した場合は
Noneを入れて「不明」として扱う
という流れを体験できます。
ここで「入力チェック」を入れているのは、 セキュリティや安全性の観点から「想定外の入力でプログラムが止まらないようにする」ためです。 Day 2の段階でも、「入力は必ずしもきれいな値とは限らない」という意識を少し持っておくと、 後の学習がぐっとスムーズになります。
Day 2(制作編)のまとめ
Day 2の制作編では、「自己紹介プログラム」を通して、
- 変数に「名前・年齢・身長・状態」を入れて扱う感覚
- 文字列(str)・整数(int)・小数(float)・真偽値(bool)の基本的な違い
type()で「今扱っている値の型」を確認する方法- 読みやすく・意味のある変数名をつける命名規則とコツ
- ユーザー入力を数値や真偽値に変換して使う流れ
を体験していただきました。
ここまで来ると、「変数はただの箱ではなく、“意味のある情報を安全に扱うためのラベル付きの器”」として見えてくるはずです。 この感覚を土台に、今後は演算子・条件分岐・ループ・関数と組み合わせて、 より豊かな自己紹介やプロフィール管理、ユーザー情報の扱いへと自然に進んでいくことができます。

