Pythonの基本構文と変数

基本構文と変数

いよいよ本格的なPythonコードを書き始めましょう。最も基本的なルールであるインデントコメント変数について学びます。

インデントのルール

Pythonの最も特徴的な点 — 波括弧 {} の代わりにインデントを使用してコードブロックを定義します。

PYTHON
# ✅ 正しい:ブロック内で一貫したインデント
if 3 > 1:
    print("3は1より大きい")
    print("この行もifブロック内")

# ❌ エラー:インデントが不揃い
if 3 > 1:
    print("3は1より大きい")
  print("インデントが間違っています!")  # IndentationError
⚠️ 黄金のルール:インデントには常に4つのスペースを使用し、タブは使わないでください。ほとんどのエディタ(VS Code、PyCharm)はTabキーを自動的に4スペースに変換します。

インデントは if 文だけでなく、すべてのコードブロック(ループ、関数、クラスなど)に適用されます:

PYTHON
# forループ内のインデント
for i in range(3):
    print(i)          # この行はループ内
    print("---")      # この行もループ内
print("Done")         # この行はループの外

コメント

コメントは人間の読者のためのものです — Pythonは完全に無視します。

1行コメント:#

PYTHON
# これは1行コメントです
print("Hello")  # コードの後ろにあるコメント

# 複数行のコメントは # を複数使います
# これは2行目
# これは3行目

複数行文字列コメント:""" """ または ''' '''

厳密には文字列ですが、複数行コメントとしてよく使われます:

PYTHON
"""
これは複数行コメントです
関数の説明を書くのに便利
または大きなコードブロックを一時的に無効化
"""
print("上の複数行文字列は実行されません")

変数

Pythonの変数は型宣言が不要です — 値を代入するだけで使えます:

PYTHON
name = "Alice"    # str
age = 25          # int
height = 1.75     # float
is_student = True  # bool

変数の命名ルール

ルール 正しい ✅ 間違い ❌
英数字とアンダースコアのみ my_name my-name
数字で始められない var1 1var
大文字小文字を区別 nameName は別物 -
予約語は使えない - if, for, class

命名規則(PEP 8)

PYTHON
# ✅ 変数:小文字とアンダースコア(snake_case)
user_name = "Alice"
total_price = 99.9
max_value = 100

# ✅ 定数:大文字とアンダースコア
PI = 3.14159
MAX_SIZE = 1024

# ❌ 非推奨
userName = "Alice"     # キャメルケース(Javaスタイル)
UserName = "Alice"     # クラス名のように見える

複数変数への代入

Pythonでは1行で複数の変数に代入できます:

PYTHON
# 一度に複数の値を代入
a, b, c = 1, 2, 3
print(a, b, c)  # 1 2 3

# 2つの変数を入れ替え(他の言語では一時変数が必要)
x, y = 10, 20
x, y = y, x
print(x, y)  # 20 10

# 同じ値を複数の変数に代入
m = n = p = 0
print(m, n, p)  # 0 0 0

type()関数

type() を使用して変数の型を確認できます:

PYTHON
print(type(10))       # <class 'int'>
print(type(3.14))     # <class 'float'>
print(type("Hello"))  # <class 'str'>
print(type(True))     # <class 'bool'>

# 変数は再代入で型が変わる(動的型付け)
x = 10
print(type(x))  # <class 'int'>
x = "Hello"
print(type(x))  # <class 'str'>  ← 型が変わった

よくあるエラー

PYTHON
# IndentationError:インデントが間違っている
print("インデントが多すぎます")
  print("この行に余分なスペースがあります")  # ❌

# NameError:変数が定義されていない
print(z)  # ❌ zは代入されていない

# SyntaxError:構文が無効
print("Hello)  # ❌ 引用符が閉じられていない

📖 セクションのまとめ

📝 宿題

  1. 3つの変数 city(都市名)、year(年)、score(点数88.5)を定義し、print() で表示するコードを書きましょう
  2. a = 5b = 10 の2つの変数を入れ替え、aが10、bが5になるようにしましょう
  3. type() を使って True"123"3.0 の型を確認しましょう
  4. わざとインデントエラーのあるコードを書き、Pythonがどのようなエラーを出すか確認し、エラーメッセージのスクリーンショットを撮りましょう
100%