LoginSignup
0
0

Pythonのdefは、関数を定義するためのキーワードです。関数は、一連の命令をまとめて再利用可能にするための構造です。ここでは、defの基本的な使い方について説明し、サンプルコードも紹介します。

基本的な関数定義

まずは簡単な関数の定義方法を見てみましょう。次のコードでは、greetという名前の関数を定義し、"Hello, World!" と表示します。

def greet():
    print("Hello, World!")

# 関数の呼び出し
greet()

解説:

  • def greet(): は関数の定義部分で、greetが関数名です。()は引数を指定する部分で、今回は何も引数を取らない関数を定義しています。
  • 関数の内部のコード(ここではprint("Hello, World!"))はインデント(通常スペース4つ)して書きます。
  • greet() と書いて関数を呼び出すと、print("Hello, World!") が実行されます。

引数を取る関数

次は、引数を使った関数を見てみましょう。引数を使うと、関数に追加の情報を渡して処理をカスタマイズできます。

def greet(name):
    print(f"Hello, {name}!")

# 関数の呼び出し
greet("Alice")
greet("Bob")

解説:

  • def greet(name): では、name という引数を取る関数を定義しています
  • 関数の内部では、name を使って挨拶のメッセージを作り、表示しています
  • greet("Alice") の呼び出しでは、"Alice"name に渡されて、"Hello, Alice!" が表示されます

戻り値がある関数

関数は値を返すこともできます。次のコードでは、2つの数を足してその結果を返す関数 add を定義しています。

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

# 関数の呼び出しと結果の表示
result = add(3, 5)
print(result)  # 8 と表示される

解説:

  • def add(a, b): では、ab という2つの引数を取る関数を定義しています
  • return a + bab を足した結果を関数の呼び出し元に返します
  • add(3, 5)35 を足した結果を返し、result8 を格納します

デフォルト引数

関数の引数にデフォルト値を設定することもできます。次のコードでは、greet 関数にデフォルトの挨拶文を設定しています。

def greet(name="World"):
    print(f"Hello, {name}!")

# 関数の呼び出し
greet()        # "Hello, World!" と表示される
greet("Alice") # "Hello, Alice!" と表示される

解説:

  • def greet(name="World"):name はデフォルトで "World" という値を持ちます
  • greet() と引数なしで呼び出すとデフォルト値が使われ、"Hello, World!" が表示されます
  • greet("Alice") のように引数を与えると、その値が使われます

可変長引数

関数に可変長の引数を渡すこともできます。これは、引数の数が決まっていない場合に便利です。

def print_numbers(*numbers):
    for number in numbers:
        print(number)

# 関数の呼び出し
print_numbers(1, 2, 3)  # 1, 2, 3 と順に表示される
print_numbers(4, 5)     # 4, 5 と表示される

解説:

  • *numbers は可変長引数を意味し、関数は任意の数の引数を受け取ります
  • 関数内で numbers はタプルとして扱われ、ループで各引数を処理できます

まとめ

  • def キーワードで関数を定義する
  • 引数を使って、関数にデータを渡せる
  • return キーワードで関数から値を返せる
  • デフォルト引数や可変長引数を使うと、関数の柔軟性が増す

これらの基本を理解すると、複雑なプログラムでも関数を使ってコードを整理しやすくなります。関数は、コードの再利用性を高め、読みやすく保つのに役立つ強力なツールです。

参考) 東京工業大学情報理工学院 Python早見表

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0