【初心者向け】プログラミングの関数とは?サザエさんで学ぶ引数・戻り値の超入門

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

はじめに:関数って難しい?サザエさんで楽しく学ぼう

プログラミングを学び始めると必ず出てくる「関数」という概念。 「引数って何?」「戻り値がわからない…」と悩んでいませんか?

実は、関数は日曜夕方の国民的アニメ「サザエさん」の登場人物に例えると、驚くほど簡単に理解できるんです!

この記事では、プログラミング初心者の方に向けて、サザエさんファミリーを使って関数の仕組みをわかりやすく解説します。

関数とは?まずは基本をおさらい

関数とは、特定の処理をまとめて名前をつけたものです。

関数の基本構造

def 関数名(引数):
    処理内容
    return 戻り値
  • 関数名:何をする関数なのかを表す名前
  • 引数:関数に渡すデータ(渡さなくてもOK)
  • 処理内容:関数が実際に行う作業
  • 戻り値:関数から返ってくる結果(返さなくてもOK)

「引数あり・なし」「戻り値あり・なし」の組み合わせで、全部で4パターンあります。

それでは、サザエさんファミリーで見ていきましょう!

パターン1:引数あり、戻り値あり【フネさん】

フネさん=頼りになる料理人

def フネさん(材料リスト):
    """材料を受け取って、美味しい料理を作る"""
    料理を作る
    味付けをする
    盛り付ける
    return 完成した夕食

# 使い方
今日の夕食 = フネさん(["サンマ", "大根", "味噌"])
print(今日の夕食)  # "サンマの塩焼き定食"

特徴

  • 引数(材料)を渡すと、必ず戻り値(料理)が返ってくる
  • 何度呼んでも、同じ材料なら同じ料理ができる
  • 磯野家の食卓を支える、安定感抜群の関数!

実用例

計算や変換など、入力に対して必ず結果を返す処理に使います。

def 消費税計算(金額):
    税込み価格 = 金額 * 1.1
    return 税込み価格

支払額 = 消費税計算(1000)  # 1100円

パターン2:引数あり、戻り値なし【波平さん】

波平さん=厳格な父親

def 波平さん(カツオの行動):
    """カツオの悪さを受け取って叱る(返り値なし)"""
    if カツオの行動 == "悪い":
        print("バッカモーン!")
        お説教をする
    # returnなし(何も返さない)

# 使い方
波平さん("テストで0点")  # "バッカモーン!"と叱られる

特徴

  • 引数(情報)を渡すと、何かしてくれるけど、何も返ってこない
  • 処理はされるが、結果は受け取れない
  • 画面に表示したり、ファイルに保存したりする処理向き

実用例

画面表示やログ出力など、結果を返さなくていい処理に使います。

def メッセージ表示(名前):
    print(f"こんにちは、{名前}さん!")
    # returnなし

メッセージ表示("太郎")  # "こんにちは、太郎さん!"

パターン3:引数なし、戻り値あり【タラちゃん】

タラちゃん=いつでも元気な3歳児

def タラちゃん():
    """何も渡さなくても、いつも元気な挨拶を返す"""
    元気に挨拶する
    return "ハーイ!"

# 使い方
挨拶 = タラちゃん()
print(挨拶)  # "ハーイ!"

特徴

  • 何も渡さなくても、必ず何かが返ってくる
  • 呼ぶたびに同じ結果(または異なる結果)が得られる
  • 現在時刻やランダム値など、自動生成する処理向き

実用例

現在時刻の取得や固定メッセージなど、入力不要で結果を返す処理に使います。

import datetime

def 現在時刻():
    今 = datetime.datetime.now()
    return 今

時刻 = 現在時刻()
print(時刻)  # 2025-11-02 14:30:00

パターン4:引数なし、戻り値なし【サザエさん】

サザエさん=ドタバタの主人公

def サザエさん():
    """何も渡さず、何も返さないけど、何かが起こる"""
    print("買い物に出かける")
    print("財布を忘れる")
    print("慌てて取りに帰る")
    # 引数なし、returnなし

# 使い方
サザエさん()
# 実行すると画面に表示される(でも返り値はない)

特徴

  • 何も渡さず、何も返ってこないけど、処理は実行される
  • シンプルな処理やメニュー表示などに使う
  • 「呼ぶだけで何かが起こる」関数

実用例

初期設定や定型処理など、単純に実行したいだけの処理に使います。

def スタート画面():
    print("============================")
    print("    ゲームスタート!")
    print("============================")
    # 引数なし、returnなし

スタート画面()  # 画面が表示される

おまけ:マスオさん【デフォルト引数】

マスオさん=柔軟な対応力

def マスオさん(お願い="特になし"):
    """引数があってもなくても対応できる優しい人"""
    if お願い == "特になし":
        return "えぇ〜、何でしょう?"
    else:
        return f"承知しました。{お願い}ですね"

# 使い方
返事1 = マスオさん()  # "えぇ〜、何でしょう?"
返事2 = マスオさん("お使い")  # "承知しました。お使いですね"

デフォルト引数とは

引数を渡さなかった場合に使われる初期値のこと。マスオさんのように、どんな状況でも対応できる柔軟な関数が作れます!

4パターンの使い分け早見表

パターン キャラ 引数 戻り値 使う場面
フネさん ⭕️ ⭕️ 計算、変換、データ処理
波平さん ⭕️ 画面表示、ファイル保存
タラちゃん ⭕️ 時刻取得、乱数生成
サザエさん 初期化、定型処理

実践:サザエさんファミリーで買い物プログラム

最後に、4パターンを組み合わせた実用例を見てみましょう。

# パターン1:引数あり、戻り値あり
def フネさん(買い物リスト):
    合計金額 = sum(買い物リスト)
    return 合計金額

# パターン2:引数あり、戻り値なし
def 波平さん(使いすぎ金額):
    if 使いすぎ金額 > 10000:
        print(f"バッカモーン!{使いすぎ金額}円も使うとは!")

# パターン3:引数なし、戻り値あり
def タラちゃん():
    return "お買い物、ついていくです〜"

# パターン4:引数なし、戻り値なし
def サザエさん():
    print("いってきま〜す!")

# プログラム実行
サザエさん()  # "いってきま〜す!"
応援 = タラちゃん()  # "お買い物、ついていくです〜"
print(応援)

今日の買い物 = [1000, 2000, 8500]  # 魚、野菜、お米
合計 = フネさん(今日の買い物)  # 11500円
print(f"今日の合計:{合計}円")

波平さん(合計)  # "バッカモーン!11500円も使うとは!"

まとめ:関数は家族のように役割分担

プログラミングの関数は、サザエさんファミリーのように、それぞれ役割を持って協力し合う仕組みです。

覚えておきたいポイント

フネさん型(引数⭕️戻り値⭕️):データを渡して結果を受け取る、最も基本的な形
波平さん型(引数⭕️戻り値❌):データを渡して処理だけしてもらう
タラちゃん型(引数❌戻り値⭕️):何も渡さず結果だけもらう
サザエさん型(引数❌戻り値❌):呼ぶだけで処理が実行される

関数を使いこなせば、コードの再利用性が上がり、プログラムが読みやすくなります。

まずは簡単な関数から作ってみて、徐々に複雑な処理にチャレンジしていきましょう!


関連記事

  • Python関数の基本:def文の使い方
  • 引数と戻り値を完全マスター
  • 初心者が知るべき関数の命名規則

この記事を読んだ人におすすめ

  • プログラミング初心者向けPython入門
  • サザエさんで学ぶオブジェクト指向

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

らくらくPython塾 – 読むだけでマスター