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):
では、a
とb
という2つの引数を取る関数を定義しています -
return a + b
はa
とb
を足した結果を関数の呼び出し元に返します -
add(3, 5)
は3
と5
を足した結果を返し、result
に8
を格納します
デフォルト引数
関数の引数にデフォルト値を設定することもできます。次のコードでは、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
キーワードで関数から値を返せる - デフォルト引数や可変長引数を使うと、関数の柔軟性が増す
これらの基本を理解すると、複雑なプログラムでも関数を使ってコードを整理しやすくなります。関数は、コードの再利用性を高め、読みやすく保つのに役立つ強力なツールです。