【Python】関数の定義
関数の基本的な定義
Pythonでは、def
キーワードを使用して関数を定義します。
def greet():
print("こんにちは!")
greet() # 「こんにちは!」と表示される
関数の引数
関数には引数を渡すことができます。
def add(a, b):
return a + b
print(add(3, 5)) # 8
戻り値
関数の戻り値は return
を使って指定できます。
def square(x):
return x * x
print(square(4)) # 16
デフォルト引数
デフォルト値を持つ引数を設定できます。
def greet(name="ゲスト"):
print(f"こんにちは、{name}さん!")
greet() # 「こんにちは、ゲストさん!」と表示される
greet("太郎") # 「こんにちは、太郎さん!」と表示される
可変長引数
可変長引数を使うと、任意の数の引数を渡せます。
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3, 4)) # 10
無名関数(lambda関数)
lambda
を使うと、簡単な関数を一行で書けます。
square = lambda x: x * x
print(square(5)) # 25
変数のスコープ
変数のスコープはローカルとグローバルに分かれます。
x = 10 # グローバル変数
def change_x():
global x
x = 20 # グローバル変数を変更
change_x()
print(x) # 20
再帰関数
関数は自分自身を呼び出すことができます(再帰)。
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
print(factorial(5)) # 120
デコレータ
デコレータを使うと、関数の動作を拡張できます。
def decorator(func):
def wrapper():
print("前処理")
func()
print("後処理")
return wrapper
@decorator
def say_hello():
print("こんにちは")
say_hello()