Python関数の引数にはどのような渡し方があるか
Pythonでは、関数の引数に以下のような渡し方があります。
- 位置引数渡し:引数の位置順に渡され、引数の値と引数の位置が1対1に対応する。例:
def func(a, b, c):
# 函数体
func(1, 2, 3)
- キーワード引数渡し: 引数の名前に基づいて渡し、引数の位置に依存しない。引数の値は、引数名を指定することで渡すことができる。例:
def func(a, b, c):
# 函数体
func(c=3, b=2, a=1)
- 関数の定義時に引数に初期値を設定しておくと、関数呼び出し時にその引数が渡されなかった場合は初期値が使用されます。
def func(a, b=2, c=3):
# 函数体
func(1) # 传递了一个参数,默认使用b=2, c=3
- 可変長引数のやりとり: 関数が任意の数の引数を受け取れるようにする。関数の定義時に、*argsを使用して位置引数を任意の数受け取ることができ、**kwargsを使用してキーワード引数を任意の数受け取ることができる。例:
def func(*args, **kwargs):
# 函数体
func(1, 2, 3, a=4, b=5) # 可以接收任意个数的位置参数和关键字参数
- 可変オブジェクト(リスト、辞書等)を引数として渡す場合、関数内部でオブジェクトを変更すると元のオブジェクトの値も変更されるので注意。例:
def func(lst):
lst.append(4)
my_list = [1, 2, 3]
func(my_list)
print(my_list) # 输出[1, 2, 3, 4]
以上はPythonの関数の引数の渡し方の一般的な方法であり、さまざまなニーズに応じて適切な方法を選択する必要があります。