一覧へ

Pythonの条件文と関数

Pythonのif/elif/else条件文と関数定義(def)を実際の例で学びます。

入門
|
7
|
検証済み (2026-07)
進捗0/18 (0%)

Pythonの条件文と関数

このトピックを終えると

if/elif/elseで分岐を作成し、defで関数を定義してコードを再利用できるようになります。


条件文 — if, elif, else

プログラムは「状況に応じて異なる動作をする」必要があります。それが条件文です。

python
score = 85
if score >= 90:
print("Aランク")
elif score >= 80:
print("Bランク")
elif score >= 70:
print("Cランク")
else:
print("再試験")
# 出力: Bランク

上から順番に条件をチェックします。最初にTrueになるブロックを実行し、残りはスキップします。

インデントが文法である

python
# ✅ 正しい
if True:
print("実行される")
# ❌ IndentationError
if True:
print("エラー!")

Pythonは中括弧の代わりに、**インデント(通常はスペース4つ)**でブロックを区切ります。インデントが正しくないと、文法エラーになります。タブとスペースを混ぜてはいけません。


比較と論理演算子

python
# 比較演算子
x = 10
print(x > 5) # True
print(x == 10) # True (同じか)
print(x != 10) # False (異なるか)
print(x >= 10) # True (以上)
# 論理演算子
age = 25
has_id = True
if age >= 18 and has_id:
print("入場可能")
if age < 18 or not has_id:
print("入場不可")
演算子意味
and両方TrueA and B
orどちらかTrueA or B
not反転not A

関数 — def

同じコードを何度も書く代わりに、関数にまとめて名前を付けます。

python
def greet(name):
print(f"こんにちは、{name}さん!")
greet("キム・フン") # こんにちは、キム・フンさん!
greet("イ・ス") # こんにちは、イ・スさん!

def 関数名(引数): → インデントされたブロックが関数の本体です。関数は呼び出されるまで実行されません。

return — 結果を返す

python
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
# `return`がない場合は`None`を返す
def say_hello():
print("hello")
x = say_hello() # "hello"と出力
print(x) # None

print()は画面に表示するもので、returnは値を返すものです。全く異なる役割です。


デフォルト値とキーワード引数

python
def power(base, exponent=2):
return base ** exponent
print(power(3)) # 9 (exponent=2のデフォルト値を使用)
print(power(3, 3)) # 27 (exponent=3に指定)
# キーワード引数 — 順序は関係ない
print(power(exponent=4, base=2)) # 16

デフォルト値を持つ引数は、呼び出すときに省略できます。


関数内の変数 — スコープ

python
x = 10 # グローバル変数
def foo():
x = 20 # ローカル変数 — 関数内でのみ有効
print(x) # 20
foo()
print(x) # 10 — グローバルxは変わらない

関数内で作成した変数は、関数が終了すると消えます。関数外の変数と同じ名前でも、別の変数です。これをスコープと呼びます。


条件文 + 関数 = ロジック

python
def classify_bmi(weight, height):
bmi = weight / (height ** 2)
if bmi < 18.5:
return "低体重"
elif bmi < 25:
return "正常"
elif bmi < 30:
return "過体重"
else:
return "肥満"
print(classify_bmi(70, 1.75)) # 正常
print(classify_bmi(90, 1.70)) # 過体重

条件文で分岐し、関数で再利用できるようにする。この2つを組み合わせることで、ほとんどのプログラムのロジックを表現できます。


💬 質問・コメント

0件のコメント

ログインせずに投稿できます。ゲスト投稿は投稿者自身で編集・削除できません。

0/2000

読み込み中...