タグ: Python初心者

  • 【初心者向け】Pythonの関数(def)の使い方 — 作り方・引数・戻り値をやさしく解説

    公開日: 2025-10-31|更新日: 2025-10-31

    関数はプログラムを整理し、再利用性を高める重要な仕組みです。この記事では、
    def を使った関数定義の基本から、
    引数・戻り値・デフォルト引数・スコープまで、初心者向けにやさしく解説します。
    コピペで動くサンプルと練習問題付き。

    1. 関数とは?

    関数は「名前付きの処理ブロック」です。何度も使う処理をまとめておくことで、コードが読みやすく、保守しやすくなります。

    例:同じ計算を何度も書かずに、関数名を呼び出すだけで処理できる。

    2. 関数の定義(基本)

    関数は def 関数名(引数): の形で定義します。定義後、関数名() で呼び出します。

    # 基本形
    def hello():
        print("Hello, Python!")
    
    hello()  # 呼び出し

    出力:

    Hello, Python!

    3. 引数(位置引数・キーワード引数)

    関数に値を渡す方法には位置引数とキーワード引数があります。

    位置引数

    def add(a, b):
        print(a + b)
    
    add(2, 3)  # 5

    キーワード引数

    def greet(name, message):
        print(f"{name}さん、{message}")
    
    greet(name="太郎", message="こんにちは")

    4. デフォルト引数と可変長引数

    デフォルト引数

    def greet(name="ゲスト"):
        print(f"ようこそ、{name}さん!")
    
    greet()         # デフォルトを使う
    greet("花子")   # 引数を渡す

    可変長引数(*args, **kwargs)

    def func(*args, **kwargs):
        print("args:", args)
        print("kwargs:", kwargs)
    
    func(1, 2, a=3, b=4)

    出力:

    args: (1, 2)
    kwargs: {'a': 3, 'b': 4}

    5. 戻り値(return)の使い方

    関数は結果を返すことができます。return で値を返し、呼び出し側で受け取ります。

    def square(x):
        return x * x
    
    result = square(5)
    print(result)  # 25

    注意:return がない関数は None を返します。

    6. 変数のスコープ(localとglobal)

    関数内で定義した変数は基本的にローカル(その関数の中だけで有効)です。外側の変数を変更したい場合は注意が必要です。

    x = 10
    
    def foo():
        x = 5  # これはローカル変数
        print("inside:", x)
    
    foo()
    print("outside:", x)

    出力:

    inside: 5
    outside: 10

    どうしてもグローバル変数を関数内で変更したい場合は global を使いますが、可読性が下がるので注意。

    7. lambda(無名関数)とは

    短い関数をその場で作るときに使います。通常は def を使う方が分かりやすいですが、簡単な処理のときに便利です。

    # lambda の例
    square = lambda x: x * x
    print(square(4))  # 16
    
    # map と組み合わせる例
    nums = [1, 2, 3]
    squared = list(map(lambda x: x*x, nums))
    print(squared)  # [1, 4, 9]

    8. 練習問題(解答付き)

    問題1

    引数で受け取った数値のリストの合計を返す関数 sum_list を作ってください。

    解答(クリックで表示)
    def sum_list(nums):
        total = 0
        for n in nums:
            total += n
        return total
    
    print(sum_list([1,2,3,4]))  # 10

    問題2

    2つの引数(名前と年齢)を受け取り、挨拶文を返す関数を作ってください(年齢はデフォルトで0にする)。

    解答(クリックで表示)
    def greet(name, age=0):
        return f"{name}さんは{age}歳です"
    
    print(greet("太郎", 30))  # 太郎さんは30歳です
    print(greet("花子"))      # 花子さんは0歳です

    9. まとめと次に読む記事

    ポイントまとめ:

    • def で関数を定義する
    • 引数は位置引数・キーワード引数・デフォルト引数・可変長引数がある
    • return で結果を返す
    • スコープに注意(ローカルとグローバル)

    関連記事:

    気に入ったらシェア・コメントお願いします!さらに練習問題や「デコレータ」「クロージャー」などの発展トピックも解説できます。依頼があれば記事化します。

    (この記事は初心者向けに簡潔化しています。実務的な設計や型ヒント、テストの話は別記事で解説予定です。)
  • 【初心者向け】Pythonのif文の使い方をわかりやすく解説

    こんにちは!
    プログラミング初心者の方にとって、最初に覚えるべき重要な文法のひとつが「if文」です。

    今回は、Pythonの「if文」について、プログラミングが初めての方でも理解しやすいように、基本からやさしく解説していきます!


    そもそも「if文」ってなに?

    「if文」は、日本語で言うと「もし〜なら」という意味です。
    プログラムの中で「条件によって処理を分けたいとき」に使います。

    たとえば、

    • 点数が60点以上なら「合格」
    • 気温が30度以上なら「暑い」

    といった場面で使います。


    Pythonのif文の基本構文

    まずは、基本の形を見てみましょう。

    if 条件:
        実行する処理
    

    例:

    score = 70
    
    if score >= 60:
        print("合格です!")
    

    このコードは、「score(点数)」が60以上なら、「合格です!」と表示されます。


    else文で「それ以外」の処理を追加しよう

    if だけでは「条件が当てはまるとき」の処理しか書けませんが、else を使うと「当てはまらないとき」の処理も書けます。

    score = 50
    
    if score >= 60:
        print("合格です!")
    else:
        print("不合格です…")
    

    elif(else if)で条件を増やそう

    複数の条件をチェックしたいときは elif を使います。

    score = 85
    
    if score >= 90:
        print("とてもよくできました!")
    elif score >= 60:
        print("合格です!")
    else:
        print("不合格です…")
    

    インデント(字下げ)に注意!

    Pythonでは、条件の中の処理を「インデント(半角スペース4つなど)」で区別します。インデントを間違えるとエラーになります。

    # 正しい例
    if True:
        print("こんにちは")
    
    # 間違った例(インデントがない)
    if True:
    print("こんにちは")  # ←エラーになる
    

    実際に書いてみよう!簡単な練習問題

    問題:年齢を入力して、以下のように表示するプログラムを作ってみよう。

    • 20歳以上なら「大人です」
    • 13歳以上20歳未満なら「ティーンエイジャーです」
    • 13歳未満なら「子どもです」

    解答例:

    age = int(input("年齢を入力してください:"))
    
    if age >= 20:
        print("大人です")
    elif age >= 13:
        print("ティーンエイジャーです")
    else:
        print("子どもです")
    

    まとめ

    今回は、Pythonの「if文」の使い方について解説しました。
    ポイントをおさらいしましょう。

    ✅ if文は「もし〜なら」を書くための文法
    ✅ elseで「それ以外」の処理もできる
    ✅ elifで複数の条件をチェックできる
    ✅ インデント(字下げ)に注意!

    最初は戸惑うかもしれませんが、実際に手を動かしてコードを書いてみるのが一番の近道です。
    ぜひ、自分でもいろいろな条件を使ってif文を試してみてください!


    おまけ:次は何を学べばいい?

    if文に慣れてきたら、次は「繰り返し(for文 / while文)」や「関数」にチャレンジするのがおすすめです。
    プログラミングの幅がぐっと広がりますよ!


    ご質問やリクエストがあれば、ぜひコメントで教えてくださいね!