関数を作って再利用する

Basic python

関数を作って再利用する

関数は「処理のまとまり」に名前を付けて再利用するための仕組みです。

関数の定義と呼び出し #

def greet(name):
    print(f"こんにちは、{name} さん!")

greet("Alice")

関数内で定義した変数は関数外からアクセスできません(スコープの考え方)。

引数と戻り値 #

def add(a, b):
    return a + b

result = add(10, 20)
print(result)

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

def create_user(name, is_admin=False):
    role = "admin" if is_admin else "user"
    return {"name": name, "role": role}

create_user("Alice", is_admin=True)

ドキュメンテーション文字列 #

def area_of_triangle(base, height):
    """底辺と高さから三角形の面積を求める"""
    return base * height / 2

help(area_of_triangle) でドキュメントを見ることができます。

小さな関数から組み合わせる #

def read_scores():
    return [int(x) for x in input("点数をカンマ区切りで入力: ").split(",")]

def calc_avg(scores):
    return sum(scores) / len(scores)

def main():
    scores = read_scores()
    avg = calc_avg(scores)
    print(f"平均: {avg:.1f}")

if __name__ == "__main__":
    main()

試してみよう #

  1. 文字列を受け取り、前後の空白を除去して大文字に変換する関数 clean_text を作ってください。
  2. 価格と税率を受け取り、税込み金額を返す関数 add_tax(price, rate=0.1) を作りましょう。
  3. ユーザーの購入履歴(辞書のリスト)から合計金額を計算する関数を作成し、0 のデータがある場合は警告を出すようにしてみてください。