関数は「処理のまとまり」に名前を付けて再利用するための仕組みです。
関数の定義と呼び出し #
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()
試してみよう #
- 文字列を受け取り、前後の空白を除去して大文字に変換する関数
clean_textを作ってください。 - 価格と税率を受け取り、税込み金額を返す関数
add_tax(price, rate=0.1)を作りましょう。 - ユーザーの購入履歴(辞書のリスト)から合計金額を計算する関数を作成し、0 のデータがある場合は警告を出すようにしてみてください。